iOS开发笔记之从AFNetworking返回的Error中取出服务端返回的错误信息

本文介绍了一种在使用AFNetworking框架时处理服务端错误信息的方法。通常情况下,无论是成功的响应还是失败的信息都统一在success块中处理,但在某些情况下,需要从Error对象中提取错误详情。文章提供了针对不同错误域(如AFURLResponseSerializationErrorDomain、NSCocoaErrorDomain和NSURLErrorDomain)的处理代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的项目中,第一次遇到一种情况,服务端返回的错误信息包含在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
        
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值