Swift2.0--- Error Handling

错误处理

swift提供在运行时抛出,捕获,传送和控制可回收错误

错误的表示

在Swift中,错误ErrorType协议的值表示。枚举可以把一系列的错误组合到一起,也可以把相关的值关联到一起

错误抛出 通过在函数或者方法的声明的参数后面加上 throws 关键字

func canThrowErrors() throws -> String
func cannotThrowErrors() -> String

在抛出函数体的任意一处,可以通过 throw 语句抛出错误。

在调用一个抛出函数的时候,在调用前加上try 这个关键词表明函数可以抛出错误,而且在try后面代码将不会执行。

捕捉和处理错误

使用do-catch语句来捕获和处理错误

do{
    try function
    }catch pattern{
    }

注意:Swift中的错误处理和其他语言中的异常处理很像,但是和其他语言不同,Swift不会展开调用堆栈,那会带来很大的性能损耗。,在Swift中throw语句的性能可以做到几乎和return语句一样。

禁止错误的传播

有几种情况是不会抛出错误的,但是可以通过forced-try表达式来调用抛出函数或方法,即使用try!来代替trytry!来调用抛出函数或者方法禁止了错误传送。

收尾操作

使用defer语句可以在执行一系列的语句后,不管有没有错误发生,都可以执行一些必要的收尾操作。defer把执行推迟到退出当前域的时候。

你可能感兴趣的:(Swift2.0--- Error Handling)