如果在调用系统某一个方法时,该方法最后有一个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)
*/