[swift 進階]讀書筆記-第八章:錯誤處理 C8P4 將錯誤橋接到Objective-C

liaoWorking在掘金發表於2019-03-25

錯誤處理

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,並在使用者要求可恢復的時候執行恢復

文章原始檔地址,大家如果有更好的想法和觀點歡迎交流

相關文章