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...