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异常捕获了的吧!