关于NSError的思考

第一次写,也是第一次写技术型的文章。写得不好,多多吐槽

凡是涉及到App,好多都有网络请求吧。凡是网络请求,都要考虑一个问题,关于错误的处理。

关于NSError和Error的相互转换,可以参考 Swift中的错误是如何映射到NSError的?以及NSError是如何桥接到Swift原生错误处理的?

上面视频要泊学会员才可以看https://www.boxueio.com/register/8921dff1dd02eb01cc6c7700588cf9e1 用邀请链接订阅泊学,可以获得额外的奖励基金

我这里总结了NSURLError的code处理 NSErrorCode处理

首先定义一个NetworkError

关于NSError的思考_第1张图片
NetworkError枚举

当然除了上面NSURLError的错误外,我们还可以定义自己的错误

关于NSError的思考_第2张图片
NetworkError枚举-case自定义

接下来对NetworkError获得code和message


关于NSError的思考_第3张图片
NetworkError枚举-code
关于NSError的思考_第4张图片
NetworkError枚举-message


当然,我们需要定义NSError的扩展

关于NSError的思考_第5张图片
NSError扩展

其中,类方法network(message: code:)方法是在网络层放回NSError,实例方法codeMessage()返回上述类方法的参数值

最后github地址 ErrorHandle


哈哈哈,写技术博客挺有趣,我想我会继续写下去。一方面总结了自己的经验,一方面也表达了自己的思想。

你可能感兴趣的:(关于NSError的思考)