簡體   English   中英

如何檢索 Swift 中潛在錯誤的描述?

[英]How do I retrieve the description of an underlying error in Swift?

鑒於我有以下 Swift 錯誤:

Error Domain=SKErrorDomain Code=0 "UNKNOWN_ERROR" UserInfo={NSLocalizedDescription=UNKNOWN_ERROR, NSUnderlyingError=0x600002dfa430 {Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingError=0x600002dfa490 {Error Domain=AMSErrorDomain Code=100 "Authentication Failed" UserInfo={NSMultipleUnderlyingErrorsKey=(
    "Error Domain=AMSErrorDomain Code=2 \"An unknown error occurred. Please try again.\" UserInfo={NSLocalizedDescription=An unknown error occurred. Please try again.}",
    "Error Domain=AKAuthenticationError Code=-7003 \"(null)\""
), NSLocalizedDescription=Authentication Failed, NSLocalizedFailureReason=The authentication failed.}}, NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception}}}

這個錯誤的localizedDescriptionUNKNOWN_ERROR ,但是我想檢索名為Authentication Failed的底層錯誤。

如何在 Swift 中檢索此描述?

以下代碼給出了最后一個潛在錯誤。

extension NSError {
    
    var lastUnderlyingErrorDescription: String {
        if let underlyingError = userInfo[NSUnderlyingErrorKey] as? NSError {
            return underlyingError.lastUnderlyingErrorDescription // Recursion 😎
        }
        // LocalizedFailureReason is often - but not always - more expressive than localizedDescription.
        return localizedFailureReason ?? localizedDescription
        
    }
    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM