Swift—抛异常(do..catch)与(try,try?,try!)的使用

* throws抛出异常, 那么就必须通过try来处理

* try : 标准的处理方式, 该方式必须结合do catch来处理

* try? :告诉系统可能有错, 也可能没错, 如果发生错误, 那么返回nil, 如果没有发生错误, 会见数据包装成一个可选类型的值返回给我们

这种使用方式, 相当于忽略错误

* try! : 告诉系统一定没错, 如果发生错误, 程序会崩溃. 不推荐使用

'' // 1.获取JSON文件路径

let path = NSBundle.mainBundle().pathForResource("MainVCSettings.json", ofType: nil)!

'' // 2.加载JSON文件

'' let data = NSData(contentsOfFile: path)!

'' // 3.将JSON文件加载进来的数据转换为对象 字典数组

//try结合do..catch一起使用

do {

'' // 编写有可能出现错误的代码

'' let objc = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)

''    }catch {

// 只要do后面大括号中的代码抛出了异常, 就会执行catch

// 如果do后面大括号中没有抛出异常, 那么catch后面大括号中的代码不执行

'' WFLog(error)

}

//try!使用

let objc = try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)

你可能感兴趣的:(Swift—抛异常(do..catch)与(try,try?,try!)的使用)