我很可能会从 Alamofire 请求中收到 SSL 错误 -1200,如果发生这种情况,我想将错误输出到文本字段。
我试图捕获我在控制台窗口中遇到的错误,以便我可以将其输出到文本字段,但我从 xcode 收到此消息:
'catch' block is unreachable because no errors are thrown in 'do' block
以下是我如何使用 AF 请求构建 do/try/catch:
do{
try AF.request(host, method: .post, parameters: parameters, encoding:JSONEncoding.default)
.responseData{ response in
guard let responseData = response.data else { return }
let responseJSON = try? JSON(data:responseData)
if let responseJSONAsString = responseJSON?.rawString(){
self.output(text: responseJSONAsString + "\n\n\n")
}
}
}
catch {
self.textField.stringValue = ("Caught: " + error.localizedDescription)
}
最佳答案
你需要
AF.request(host, method: .post, parameters:parameters,encoding:JSONEncoding.default)
.responseData { response in
do {
guard let responseData = response.data else { return }
let responseJSON = try JSON(data:responseData)
if let responseJSONAsString = responseJSON.rawString(){
///
}
}
catch {
print(error)
}
}
关于swift - 'Catch 无法访问,因为没有调用抛出函数',但函数抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57093093/