有一些经验法则可以帮助处理错误原因不可控的本质。
在接口契约中处理错误
错误状态可能不正确
知道整个操作失败还不够,开发者必须考虑导致请求失败的原因,以及自动重试每个失败的请求是否是恰当的。
验证负载
分离错误与正常的业务状况
比如有个用户,由于可能的欺诈导致账户被锁定,锁定状态应该在数据负载中进行报告而不应该当错错误情况。
总是检查HTTP状态
总是检查NSError值
使用一致的方法来处理错误
应该设计一致的模式来处理网络错误,该模式应该考虑到可能会遇到的所有类型的错误。
总是设置超时时间
在iOS中,HTTP请求的默认超时时间间隔是4分钟,这对于移动应用来说过长了。