服务关闭时,iOS应用程序崩溃

时间:2018-01-02 17:46:08

标签: ios swift rest mobile swift4

我一直在用Swift 4编写应用程序,它通过RESTful API与服务进行通信。

我找到了一些有用的代码示例,一切运行正常。

但是,我无法处理服务关闭的情况。我尝试过try / catch块但是效果不好。请先检查下面的代码。这是沟通的一部分。基本上它会向服务发送一个电子邮件地址,并作为激活码获得响应。

URLSession.shared.dataTask(with: request) { (data:Data?, response:URLResponse?, error:Error?) in
        guard error == nil else {
            // Some code
            return
        }
        guard let responseData = data else {
            // Some code
            return
        }
        do {
            guard let activation_response = try JSONSerialization.jsonObject(with: responseData, options: [])
                as? [String: Any] else {
                    // Some code
                    return
            }
            guard let activation_code = activation_response["activation_code"] as? String else {
                // Some code
                return
            }
            // Some code, here, if it works fine.

        } catch  {
            // Some code
            return
        }
    }.resume()

当服务关闭时,它只会抛出TCP连接失败等错误。我怎么处理呢?

我得到的错误如下:

TheApp[4184:399699] TIC TCP Conn Failed [1:0x604000166600]: 1:61 Err(61) 2018-01-02 20:35:04.930874+0300 TheApp[4184:399699] Task <5ED49B16-BFDC-45A5-85F5-095C4FC4D84D>.<1> HTTP load failed (error code: -1004 [1:61]) 2018-01-02 20:35:04.934352+0300 TheApp[4184:399698] Task <5ED49B16-BFDC-45A5-85F5-095C4FC4D84D>.<1> finished with error - code: -1004

抛出一个异常,我无法抓住它。我找不到怎么做。非常感谢您的帮助。

0 个答案:

没有答案