我一直在用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
抛出一个异常,我无法抓住它。我找不到怎么做。非常感谢您的帮助。