首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSURLConnection sendAsynchronousRequest什么是错误?

NSURLConnection sendAsynchronousRequest什么是错误?
EN

Stack Overflow用户
提问于 2014-07-14 09:26:08
回答 1查看 298关注 0票数 1

我对这种方法感到困惑,特别是对错误部分和文档感到困惑。在这份文件上,它说

如果请求成功完成,则处理程序块的数据参数包含资源数据,错误参数为零。如果请求失败,则数据参数为零,错误参数包含有关故障的信息。

问题是,我已经看到一些http响应错误代码属于“有错误”,而有些则没有,而且我可以同时拥有数据和错误(但根据文档,应该始终为零)。

代码语言:javascript
复制
[NSURLConnection sendAsynchronousRequest:theRequest
                                       queue:[[NSOperationQueue alloc] init]
                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)

例如,如果用户使用错误的凭据,我的服务器将发送401响应,而这是在error子句中缓存的,但是如果我发送了一个409 (重复条目),则不会被它缓存。我有一些问题,重定向流程,因为这一点,我不知道这个方法会考虑错误和它不会。

另外,我如何正确地检查这一点呢?我认为,仅仅检查是否存在错误,然后检查响应的代码就足以显示消息或采取行动,但正如我前面描述的,一些“错误”代码不一定会生成错误对象。我应该先检查一下状态码吗?

代码语言:javascript
复制
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
int responseStatusCode = [httpResponse statusCode];

if (responseStatusCode == 200)
{
    // If 200, assume everything went well?
} else
{
    // Something went wrong, check for the code and the error here?
}
EN

回答 1

Stack Overflow用户

发布于 2014-07-14 13:39:50

根据我的经验,当服务器根本没有响应时,就会发生错误,这就是数据为0的原因。如果服务器返回400或500错误,那么这些都是来自服务器的响应,取决于服务器代码,可能是您可以解析的错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24733350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档