美文网首页
Swift2.0--- Error Handling

Swift2.0--- Error Handling

作者: DevKyle | 来源:发表于2015-08-07 15:36 被阅读56次

    错误处理

    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

          本文链接:https://www.haomeiwen.com/subject/trwvqttx.html