ios - NSURLSession().dataTaskWithRequest(...) 不能抛出?

标签 ios swift nsurlsession

我有一个负责处理 API 调用 (makeAPICall) 的函数,当 httpResponse.statusCode != 200< 时,我想针对某些 API 响应抛出错误。 问题是,据我所知, NSURLSession().dataTaskWithRequest(...) 不能抛出。这是正确的吗?如果是,是否有一些解决方法?或者我应该做一些完全不同的事情?

最佳答案

由于 dataTaskWithRequest 是异步操作,因此通过完成处理程序可以促进其错误处理。如果抛出异常,则在操作完成时将很难处理错误。

因此,您应该在完成处理程序中处理错误情况。如果您想在完成后抛出自己的错误,这是可能的,但有些多余。

关于ios - NSURLSession().dataTaskWithRequest(...) 不能抛出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33868593/

相关文章:

ios - 返回时发生奇怪的崩溃

ios - 在 iPhone 中获取错误的 GPS 位置

ios - 如果在 swift 中设置 bool 时速记崩溃

ios - xcode 3.1.1 创建 iPhone 应用程序(3,4,5)

ios - 带有重复和自动反转的快速 UIView animateWithDuration

arrays - 从数组中随机选择一个对象,而不在一行中重复对象而不删除

支持服务器的 iOS 9 ATS SSL 错误

html - 在 Swift 中将 HTML 转换为纯文本(不使用 NSAttributedString)

xcode5 - xcode中completionHandler was not called错误如何解决

swift - 如何等待 Swift 的 URLSession 完成后再运行?