🏥 响应错误处理
# 请求成功/失败
若Forest请求最终以ForestResponse
作为返回类型,那么即便在请求过程中出现错误或异常,也不会直接中断抛出异常,且最终始终会返回一个非空的ForestResponse
对象
而在ForestResponse
对象中提供了一些用来判断这次请求是否成功或失败的方法
isSuccess()
: 网络请求是否成功
- 返回值 :
true
表示请求成功,false
表示请求失败
isError()
: 网络请求是否失败
- 返回值 :
true
表示请求失败,false
表示请求成功
// 获取网络请求是否成功
boolean bSuccess = response.isSuccess();
// 获取网络请求是否失败
boolean bError = response.isError();
1
2
3
4
2
3
4
# 错误类型
在Forest请求过程中可能会出现各种各样的错误和异常,比如超时、SSL验证不通过,亦或者是服务端返回一个错误的HTTP状态码
在这些错误中,主要分成两种类型错误:状态码错误,和客户端异常错误
# 状态码错误
状态码错误即表示HTTP响应状态码不在成功的范围数值内(100 ~ 399),比如: 404、500 就是常见的表示失败的状态码
关于状态码的分类与说明,以及如何获取状态码请参见《响应状态码》
以下代码介绍如何判断状态码为失败:
// 判断HTTP状态码是否失败
boolean isStatusError = !response.statusOk();
1
2
2
# 异常错误
getException()
获取请求过程中产生的异常
- 返回值: 异常对象,
Throwable
的子类对象
// 获取请求过程中产生的异常
Throwable exception = response.getException();
if (exception != null) {
System.out.println("请求异常: " + exception.getMessage());
}
1
2
3
4
5
2
3
4
5
# 超时错误
isTimeout()
请求是否超时
- 返回值:
true
表示已超时,false
表示未超时
// 获取请求是否超时
boolean bTimeout = response.isTimeout();
1
2
2
帮助我们改善此文档 (opens new window)
上次更新: 2023/06/19, 17:37:19