Swift——throws异常处理

前端之家收集整理的这篇文章主要介绍了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)
         */

猜你在找的Swift相关文章