从这里抛出的错误不会被处理

时间:2016-11-07 16:39:17

标签: ios json swift swift3

我在尝试解析iOS应用程序上的JSON时遇到了这个问题:

相关代码:

let jsonData:NSDictionary = try JSONSerialization.jsonObject(with: urlData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers ) as! NSDictionary

/* XCode error ^^^ Errors thrown from here are not handled */

有人能帮助我吗?

1 个答案:

答案 0 :(得分:56)

未处理let jsonData = try JSONSerialization ...中的可能错误。

您可以忽略可能的错误,并在发生错误时崩溃为惩罚:

let jsonData = try! JSONSerialization ...

或返回Optional,因此jsonData的错误情况为nil

let jsonData = try? JSONSerialization ...

或者您可以捕获并处理抛出的错误:

do {
    let jsonData = try JSONSerialization ...
    //all fine with jsonData here
} catch {
    //handle error
    print(error)
}

您可能想要学习The Swift (3) Language