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")
}
swift 原生decode 错误捕获方式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近事情太多,实在没空写总结。刚好最近遇到点问题,网上能搜到的东西都有点不清楚,问题解决,我自己总结下,希望对别人...
- Java如何进行Base64的编码(Encode)与解码(Decode) 关于base64编码Encode和Dec...
- 内容后台加密方式:Base64 encode加密 -> Rsa私钥加密, 给我公钥用来解密, 实现方式参考:PHP...