Swift学习笔记系列——(17)错误处理
Tags: Swift 学习笔记 发布时间:2015-08-26 Swift学习笔记系列——(17)错误处理开场错误处理响应程序错误的情况和从中恢复的过程。 表现和抛出错误Swift中要表现一个错误,需要用到一个遵循ErrorType协议的类型值。 处理错误当一个错误被抛出,外围需要有一系列代码负责处理它。 Swift的错误处理类似其他语言的异常处理,它们使用try,catch和throw关键字。和其它语言————包括OC的区别之处是Swift没有处理起来开销较大的调用栈。Swift中的throws语句和其它语言中的return语句相像。 传播错误在参数列表后返回值前用throws关键字表明一个函数、方法或者构造方法会抛出错误。利用这点可以将可能出现的错误抛给调用者处理。 使用do-catch语句处理错误语法示意 do { try expression statements } catch pattern 1 { statements } catch pattern 2 where condition { statements } catch后面跟的模式表示该语句可以处理什么样的错误。如果catch后面没有用默认,那么表示它可以处理所有的错误,而且有一个本地常量error绑定到了这个错误。 catch不必处理do语句抛出的所有可能的错误。如果没有一个cactch处理了抛出的错误,错误将会被传播到外围的环境中。无论如何,错误必须要被处理。 没有错误抛出,也就没有catch语句被执行,do语句中的后面代码会继续执行。 将错误转换为可选值使用try?处理一个错误为一个可选值。如果执行try?表达式抛出了一个错误,那么这个表达式的值是nil。 阻止错误传播在明确知道不能发生错误的情况下使用这种写法。 指定清理行为defer中的语句在离开当前代码块前被执行,无论是否发生了错误。 本章思维导图(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |