Objective c 来自HTTP状态代码的N错误

Objective c 来自HTTP状态代码的N错误,objective-c,cocoa-touch,nsurlconnection,Objective C,Cocoa Touch,Nsurlconnection,基于标准HTTP状态代码(理想情况下是在localizedDescription中包含一些人类可读的消息)创建NSError对象的最佳方法是什么?是否有一种标准方法,或者我应该创建自己的错误域来与NSError一起使用?基金会用于执行网络请求的对象通常会为您返回这些NSErrorNSURLConnection将在其+sendAsynchronousRequest:queue:completionHandler:方法的completionHandler中提供NSError 如果您想自己滚动,可以创

基于标准HTTP状态代码(理想情况下是在
localizedDescription
中包含一些人类可读的消息)创建
NSError
对象的最佳方法是什么?是否有一种标准方法,或者我应该创建自己的错误域来与
NSError
一起使用?

基金会用于执行网络请求的对象通常会为您返回这些
NSError
<例如,code>NSURLConnection将在其
+sendAsynchronousRequest:queue:completionHandler:
方法的
completionHandler
中提供
NSError


如果您想自己滚动,可以创建
NSError
的实例,将其错误域设置为
nsurerrorDomain
,将其
code
设置为所需的HTTP状态码,并将其
localizedDescription
设置为您需要的可读字符串。

相关:在我看来,将自己的错误代码添加到我无法控制的域是个坏主意。是的,您也可以拥有自己的错误域,这可能无法回答您的问题,即存在库存NSURLError当连接成功且服务器以错误代码响应时,传递给
completionHandler
NSError?
nil
。我希望这个答案是正确的,但似乎是错误的。我检查的最明显的状态代码404和500根本不返回任何
NSError
,只返回
nil
。这是不正确的-只有在网络层出现故障时才会创建NSError。若联网成功,并且服务器发送了402状态,则不会创建任何N错误。很长一段时间以来,我一直在寻找这样的代码来为大量http状态场景构建健壮的NSError表示。