微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift——throws异常处理


如果在调用系统某一个方法时,该方法最后有一个throws。说明该方法会抛出异常。如果一个方法会抛出异常,那么需要对该异常进行处理。
在Swift 中提供三种处理异常的方式
方式一:try 方式
程序员手动捕捉异常 (一般不常用)
方式二:try?方式 (常用)
系统帮助我们处理异常,如果该方法出现了异常,则该方法返回nil.如果没有异常,则返回对应的对象。
方式三:try!方法
直接告诉系统,该方法没有异常。注意,如果该方法出现了异常,那么程序会报错(崩溃)非常危险,一般不用。
// 1.获取json文件路径
        guard let jsonPath = NSBundle.mainBundle().pathForResource("MainVCSettings.json",ofType: nil) else {
            print("没有获取到对应的文件路径")
            return
        }
        
        // 2.读取json文件中的内容
        guard let jsonData = NSData(contentsOfFile: jsonPath) else {
            print("没有获取到json文件中数据")
            return
        }
        
        // 3.将Data转成数组
        // 如果在调用系统某一个方法时,该方法最后有一个throws.说明该方法会抛出异常.如果一个方法会抛出异常,那么需要对该异常进行处理
        /*
         在swift中提供三种处理异常的方式
            方式一:try方式 程序员手动捕捉异常
                do {
                    try NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers)
                } catch {
                    // error异常的对象
                    print(error)
                }
        
            方式二:try?方式(常用方式) 系统帮助我们处理异常,如果该方法出现了异常,则该方法返回nil.如果没有异常,则返回对应的对象
                guard let anyObject = try? NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers) else {
                    return
                }
            
            方式三:try!方法(不建议,非常危险) 直接告诉系统,该方法没有异常.注意:如果该方法出现了异常,那么程序会报错(崩溃)
                let anyObject = try! NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers)
         */

原文地址:https://www.jb51.cc/swift/321944.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐