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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容