You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过NSError的domain和code确定对应的AFError?

如何通过Domain和Code确定具体的AFError类型

要确定Domain为Alamofire.AFError、Code为8对应的具体错误,直接查看Alamofire源码中AFError.swift里的枚举定义即可:

  • 找到AFError枚举,它的每个成员都对应一个rawValue(即你拿到的Code值)
  • Code=8对应的枚举成员是parameterEncodingFailed(reason: ParameterEncodingFailureReason),翻译为参数编码失败。这个错误的具体原因由关联值ParameterEncodingFailureReason细分,比如参数为nil、编码过程抛出异常、目标URL无效等场景。

你也可以在代码中将捕获到的NSError转换回AFError类型,通过分支匹配获取详细信息:

if let afError = error as? AFError {
    switch afError {
    case .parameterEncodingFailed(let reason):
        // 根据具体reason处理错误
        print("参数编码失败原因:\(reason)")
    default:
        // 处理其他AFError类型
        break
    }
}

内容的提问来源于stack exchange,提问作者Peter Lapisu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:30:54