最近的项目中,第一次遇到一种情况,服务端返回的错误信息包含在AFNetworking返回的Error中,以往服务端返回的信息,无论成功或者失败,都会从AFNetworking的success块中返回,failure块很少需要特别去处理。这次就尝试了从Error中取出需要的错误信息,这只是我所遇到的一种情况,还没有对其他可能的情况进行研究,有熟悉这部分内容的小伙伴可以分享一下,以下是获取错误信息的代码:
if ([error.domain isEqualToString:AFURLResponseSerializationErrorDomain]) {
// server error
id response = [NSJSONSerialization JSONObjectWithData:error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] options:0 error:nil];
// response中包含服务端返回的内容
} else if ([error.domain isEqualToString:NSCocoaErrorDomain]) {
// server throw exception
} else if ([error.domain isEqualToString:NSURLErrorDomain]) {
// network error
}
本文介绍了一种在使用AFNetworking框架时处理服务端错误信息的方法。通常情况下,无论是成功的响应还是失败的信息都统一在success块中处理,但在某些情况下,需要从Error对象中提取错误详情。文章提供了针对不同错误域(如AFURLResponseSerializationErrorDomain、NSCocoaErrorDomain和NSURLErrorDomain)的处理代码。
1091

被折叠的 条评论
为什么被折叠?



