HTTP错误处理最佳实践iOS

HTTP错误处理最佳实践iOS,ios,networking,error-handling,httpresponse,nserror,Ios,Networking,Error Handling,Httpresponse,Nserror,目前正在使用iOS应用程序的网络部分。我正在努力处理错误 让我们举一个简单的例子:执行登录请求。(我正在将NSURLRequest与nsurlsessionelegate一起使用) 在大多数情况下,我将在请求的响应中获得200状态码或401状态码。这里没有错误。 但我也可以获得另一个HTTP状态码(例如500内部服务器错误)。或者,我也可以得到一个错误,比如请求被取消,没有互联网连接或其他什么 我的问题是:如果我将那些错误的Http状态码转换为正确的自定义N错误怎么办。因此,在我的控制器端,在发

目前正在使用iOS应用程序的网络部分。我正在努力处理错误

让我们举一个简单的例子:执行登录请求。(我正在将NSURLRequestnsurlsessionelegate一起使用)
在大多数情况下,我将在请求的响应中获得200状态码或401状态码。这里没有错误。
但我也可以获得另一个HTTP状态码(例如500内部服务器错误)。或者,我也可以得到一个错误,比如请求被取消,没有互联网连接或其他什么

我的问题是:如果我将那些错误的Http状态码转换为正确的自定义N错误怎么办。因此,在我的控制器端,在发生此错误的情况下切换并做出正确反应将更容易。
与其先捕捉错误,不如做出反应。然后,检查状态代码,做出反应

通过这种方式,我将能够将错误处理推广到我的所有网络请求。“收到401状态代码?只需注销用户” “如果没有错误,请求就运行良好”

这种模式可能有效,但并非在所有情况下都有效。这次我只是没有在登录表单中正确格式化电子邮件。服务器将为我提供422(不可处理实体)状态代码。但是我仍然需要得到这个请求的正文,以知道我格式化了哪个字段

处理这些案例的最佳实践是什么