swift 原生decode 錯(cuò)誤捕獲方式

 do {
           let value =  try decode(type, forKey: key)
           return value
        }catch let DecodingError.dataCorrupted(context){
            print("數(shù)據(jù)解析錯(cuò)誤類型 1:====>\n錯(cuò)誤描述:",context.debugDescription)
        }catch let DecodingError.keyNotFound(key, context){
            print("數(shù)據(jù)解析錯(cuò)誤類型 2:====>\n鍵===>"
                  ,key.stringValue,"找不到,\n錯(cuò)誤描述:",context.debugDescription
                  ,"\n路徑==>",context.codingPath)
        }catch let DecodingError.valueNotFound(value, context){
            print("數(shù)據(jù)解析錯(cuò)誤類型 3:====>\n值===>"
                  ,value,"找不到,\n錯(cuò)誤描述:",context.debugDescription
                  ,"\n路徑==>",context.codingPath)
        }catch let DecodingError.typeMismatch(type, context)  {
            print("數(shù)據(jù)解析錯(cuò)誤類型 4:====>\n類型===>"
                  ,type,"不匹配,\n錯(cuò)誤描述:",context.debugDescription
                  ,"\n路徑==>",context.codingPath)
             //這里的路徑是 從上到下 到最后一個(gè) 不匹配的值  data=>everyDay0630Map=>subjectDetail=>applePrice
        }catch {
            print("其他錯(cuò)誤===>\n")
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容