如何从 Alamofire 响应中获取错误代码?

问题描述

这是示例数据:

Alamofire.AFError.sessionTaskFailed(error: Error Domain=NSURLErrorDomain Code=-1020 "当前不允许数据连接。" UserInfo={_kcfStreamErrorCodeKey=50,NSUnderlyingError=0x281c129a0 {Error Domain=kcfErrorDomainCFNetwork Code=-1020 "( null)" UserInfo={_kcfStreamErrorCodeKey=50,_kcfStreamErrorDomainKey=1}},_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .,_TaskURL>ErrorRelated

"LocalDataTask <53E743B6-8487-4955-9C7C-86150C02736D>.<33>"

),

当我尝试 让 nsError = 错误为 NSError 打印(错误代码)我得到 13 ..而不是 -1020

任何帮助将不胜感激。

解决方法

你可以试试这个 -

if error.isSessionTaskError,let underlyingError = error.underlyingError as? NSError {
    print(underlyingError.code)
}
,

如果有人感兴趣,我会像这样添加我的逻辑

colour = discord.Colour.green()
,

你可以从错误或响应中得到它

AF.request(requestModel).validate().responseData(completionHandler: { response in
            
            // from the response
            print(response.response?.statusCode)

            switch response.result {
            case .success(let data):
                // handler success
            case .failure(let error):
                // from the error
                print(error.responseCode)
            }
        })

希望这对你有用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...