我如何知道在Swift中引发的核心函数中捕获哪些异常

时间:2016-04-28 08:13:45

标签: swift error-handling try-catch

我实施public class func JSONObjectWithData(data: NSData, options opt: NSJSONReadingOptions) throws -> AnyObject但不知道我能抓到哪些例外?我的同事正在建议我抓住它时调试错误。但是在运行代码之前必须有另一种方法来找出它?

1 个答案:

答案 0 :(得分:0)

这里抛出的只是NSError

的包装

通常我会像这样使用这个函数:

if let yourObject = (try? NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)) as? TObjectTypeYouExpected
{                
            // other code here
}

你也可以这样使用它:

do {
    yourObject = try NSJSONSerialization.JSONObjectWithData(data, options: options)
} catch let error as NSError {
     print("Some error: \(error)")
     data = nil
}