[swift 进阶]读书笔记-第八章:错误处理 C8P4 将错误桥接到Objective-C

错误处理

8.4 将错误桥接到Objective-C

小节主要内容如标题⬆️

知识点1: OC中的异常应该只用来表达程序员‍‍的错误,在平时的开发中我们很少用到异常。

NSError 对象都有一个Domin字符串,还有一个整数的错误代码code

将Swift的错误桥接到OC时运行时会默认提供这个NSError对象。

如果有需要我们可以通过遵守CustomNSError来更好的实现错误桥接。

extension ParseError: CustomNSError {
    ///自定义错误的Domin
    static let errorDomain = "io.objc.parseError"
    ///自定义错误的Code
    var errorCode: Int {
        switch self {
        case .wrongEncoding: return 100
        case .warning(_, _): return 200
        }
    }
    var errorUserInfo: [String: Any] {
        return [:]
    }
}

错误相关的一些协议

LocalizedError

提供一个本地化的错误信息,来表示为什么发生(failureReason),从错误中恢复的提示(recoverySuggestion),额外的帮助文本(helpAnchor)

RecoverableError

用来描述一个用户可恢复的错误,展示一个或者多个recoveryOptions,并在用户要求可恢复的时候执行恢复

文章源文件地址,大家如果有更好的想法和观点欢迎交流

你可能感兴趣的:([swift 进阶]读书笔记-第八章:错误处理 C8P4 将错误桥接到Objective-C)