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