// 错误处理 是响应错误以及 从错误中恢复的过程, Swift 提供了在运行时对 可恢复错误的 抛出, 捕获, 传递 和 操作的支持 // 某些操作无法保证总是执行完所有代码 或总是生层有用结果, 可选类型 可用来表示值缺失, 但是当某个操作失败时, 最好能得知失败的原因, 从而可以做出相应的应对 // Swift 中的错误处理涉及到错误处理模式, 这会用到 Cocoa 和 Object-C 中的 NSError, // 表示并抛出错误 // 在 Swift 中, 错误用符合 Error 协议