Swift 2 错误处理的问题

Posted

技术标签:

【中文标题】Swift 2 错误处理的问题【英文标题】:Issue with Swift 2 Error Handling 【发布时间】:2015-06-25 13:06:53 【问题描述】:

我正在使用 REST 获取 JSON 数据,然后对其进行解析。为此,我正在使用 NSJSONObjectWithData,据我所知,此方法曾经在其参数中有一个错误处理程序,但它不再存在。在我的代码中:

let err: NSError?
let options:NSJSONReadingOptions = NSJSONReadingOptions.MutableContainers
var jsonResult = NSJSONSerialization.JSONObjectWithData(data!, options: options) as! NSDictionary;

我收到一条错误消息:

"调用可以抛出,但是没有标记'try',错误没有处理"

我该如何解决这个错误?

【问题讨论】:

***.com/questions/30737262/… 【参考方案1】:

这是正确的实现,

do 
    let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary

    //Use your dictionary here.
    print("JSON : \(jsonDictionary)")

catch  
    print(error)
    //Handle any error.

【讨论】:

以上是关于Swift 2 错误处理的问题的主要内容,如果未能解决你的问题,请参考以下文章

处理 Swift 2.0 中的转换错误

Swift 2 中的显式老式错误处理

Swift 2 中 AVAudioPlayer 的 contentOfURL:error: 错误处理

Swift 2 - NSJSONSerialization.JSONObjectWithData 处理错误 [重复]

通过 try 块处理 Swift 2.2 错误

iOS Swift 2.1 - 使用 Try Catch 处理错误