Try and catch 不抛出消息并处理问题
Try and catch is not throwing message and handling the issue
我正在尝试 post 在我的应用程序中定期向我的 API 发送一些内容,假设每 3 分钟一次,在 return 中,我有时会收到一些数据,但数据没有传送,我发现数据为零,这就是为什么我试图用下面的代码放置一个 try/catch
概念:
var err: NSError?
var json:NSDictionary!
do {
json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
}
catch {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
postCompleted(succeeded: false, msg: "Logged in.")
})
}
但是 catch 语句永远无法工作,每次我得到 nil 时,应用程序都会在 do
内崩溃。
public class func JSONObjectWithData(data: NSData, options opt: NSJSONReadingOptions) throws -> AnyObject
因为data: NSData
没有展开。如果数据为零,函数将崩溃。您添加
guard let data = data else {
return
}
和try/catch因为这个函数可能会抛出错误。如果数据编码格式不正确,该函数会报错,可以在catch中捕获。
希望对你有用。
我正在尝试 post 在我的应用程序中定期向我的 API 发送一些内容,假设每 3 分钟一次,在 return 中,我有时会收到一些数据,但数据没有传送,我发现数据为零,这就是为什么我试图用下面的代码放置一个 try/catch
概念:
var err: NSError?
var json:NSDictionary!
do {
json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
}
catch {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
postCompleted(succeeded: false, msg: "Logged in.")
})
}
但是 catch 语句永远无法工作,每次我得到 nil 时,应用程序都会在 do
内崩溃。
public class func JSONObjectWithData(data: NSData, options opt: NSJSONReadingOptions) throws -> AnyObject
因为data: NSData
没有展开。如果数据为零,函数将崩溃。您添加
guard let data = data else {
return
}
和try/catch因为这个函数可能会抛出错误。如果数据编码格式不正确,该函数会报错,可以在catch中捕获。
希望对你有用。