swift try catch异常捕获的作用在于,当我们的程序出现异常的时候,不至于导致整个ios app程序崩溃闪退,例如下面的例子就有一个从文件中读取字符串的方法,如果该文件为空或者不存在,就会报文件找不到的错误,如果没有使用swift try catch异常捕获的话,整个程序就会崩溃了,如下所示是IOS异常捕获的自定义类。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
do{
//从文件中读取字符串,文件不存在则抛出异常,由于是swift api方法,所以官网api已经定义好了异常抛出
let str = try String(contentsOfFile: "");
//以下是两个自定义错误类,便于了解官网api中try catch的原理
try printStr()
let i = try printInt();
} catch let error as NSError{
print("错误提示:" + error.localizedDescription)
}
}
//自定义一个无参数的异常方法
func printStr() throws -> () {
//假如满足条件则抛出异常
if(true){
throw MyErrro.ERROR_ONE
}
print("打印字符串")
}
//自定义一个有参数的异常方法
func printInt() throws -> Int {
if(true){
throw MyErrro.ERRO_TWO
}
print("打印数字")
let num = 100
return num
}
//自定义错误类
enum MyErrro : Error{
case ERROR_ONE
case ERRO_TWO
}
}从上面的例子应该很清楚的明白了swift官网是如何自定义try catch异常捕获了的吧!