如何在Swift里进行错误处理
错误表示
- 在Swift中如果我们要定义一个表示错误的类型非常简单,只要遵循Error协议就可以了,我们通常用枚举或结构体来表示错误类型,枚举可能用的多些,因为它能更直观的表达当前错误类型的每种错误细节
如何抛出错误
- 函数、方法和初始化器都可以抛出错误。需要在参数列表后面,返回值前面加throws关键字
使用Do-Catch做错误处理
- 在Swift中我们使用do - catch块对错误进行捕获,当我们在调用一个throws声明的函数或方法时,我们必须把调用语句放在do语句块中,同时do语句块后面紧接着使用catch语句块
try?
- try?会将错误转换为可选值,当调用try?+函数或方法语句时候,如果函数或方法抛出错误,程序不会发崩溃,而返回一个nil,如果没有抛出错误则返回可选值
try!
- 如果你确信一个函数或者方法不会抛出错误,可以使用try!来中断错误的传播。但是如果错误真的发生了,你会得到一个运行时错误
指定退出的清理动作
- defer关键字:defer block里的代码会在函数retuen之前执行,无论函数使从哪个分支return的,还是有throw,还是自然而然走到最后一行