swift 原生decode 错误捕获方式
2021-11-11 本文已影响0人
化二缺
do {
let value = try decode(type, forKey: key)
return value
}catch let DecodingError.dataCorrupted(context){
print("数据解析错误类型 1:====>\n错误描述:",context.debugDescription)
}catch let DecodingError.keyNotFound(key, context){
print("数据解析错误类型 2:====>\n键===>"
,key.stringValue,"找不到,\n错误描述:",context.debugDescription
,"\n路径==>",context.codingPath)
}catch let DecodingError.valueNotFound(value, context){
print("数据解析错误类型 3:====>\n值===>"
,value,"找不到,\n错误描述:",context.debugDescription
,"\n路径==>",context.codingPath)
}catch let DecodingError.typeMismatch(type, context) {
print("数据解析错误类型 4:====>\n类型===>"
,type,"不匹配,\n错误描述:",context.debugDescription
,"\n路径==>",context.codingPath)
//这里的路径是 从上到下 到最后一个 不匹配的值 data=>everyDay0630Map=>subjectDetail=>applePrice
}catch {
print("其他错误===>\n")
}