Alamofire:如何处理和分类错误?
Posted
技术标签:
【中文标题】Alamofire:如何处理和分类错误?【英文标题】:Alamofire: how to handle and classify errors? 【发布时间】:2016-01-15 16:35:16 【问题描述】:Alamofire 的一个例子如下:
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.validate()
.responseJSON response in
switch response.result
case .Success:
print("Validation Successful")
case .Failure(let error):
print(error)
我如何处理“网络中断”、“404”、“未找到服务器”等错误,以便为用户提供信息性借口,说明他们的内容无法加载的原因?
【问题讨论】:
是的,我如何确定发生了什么故障?真可怕! 【参考方案1】:你可以像这样获取http状态码并处理它:
Alamofire.request(.GET, USERS_URL, headers: headers, encoding: .JSON)
.responseJSON response in
debugPrint(response)
switch response.result
case .Success(let data):
if response.response!.statusCode == 200
//do things
else if response.response!.statusCode == 401
//do things
case .Failure(let error):
print("Request failed with error: \(error)")
【讨论】:
是否有.Failure
案例的文档?它是否包括网络关闭/服务器无法访问错误?
.Success 是在请求成功的情况下,.Failure 表示无法执行请求! http状态来自服务器的响应
是的,我如何确定发生了什么故障?真可怕!以上是关于Alamofire:如何处理和分类错误?的主要内容,如果未能解决你的问题,请参考以下文章