retrofit2 - 我们什么时候在 Retrofit onFailure() 中得到确切的消息“超时”?
问题描述
我有一个SocketTimeoutException
. 在该onFailure
方法中,当我调用时t.getMessage()
,它会准确返回"timeout"
这是我的代码:
private void getCouponsService() {
APIInterface mObjInterface = APIClient.getClient().create(APIInterface.class);
Call<CouponsResponseModel> call = mObjInterface.getCoupons();
call.enqueue(new Callback<CouponsResponseModel>() {
@Override
public void onResponse(Call<CouponsResponseModel> call, Response<CouponsResponseModel> response) {
if (response.code() == 200) {
// Handle success response
}
}
@Override
public void onFailure(Call<CouponsResponseModel> call, Throwable t) {
String message = t.getMessage();
}
});
}
的值message
正好是"timeout"
。我们应该在哪种情况下收到该消息?我预计输出是Unable to resolve host "abc.domainname.in": No address associated with hostname
.
解决方案
推荐阅读
- javascript - 如果功能组件具有内部可变状态,它可以被认为是纯的吗?
- reactjs - 没有使用 react-router-dom 发送到正确的页面
- swift - 是否可以在模型类中保留数据
- javascript - 在使用 removeChild 时,使用 JavaScript 移动 SVG 对象会阻止 Touchmove 事件
- html - 不同样式和权重的 Web 字体是如何呈现的?
- traefik - 使用带有 Traefik 的请求变量将“WWW”重定向到“Non-WWW”?
- python - 棋盘和棋子检测 OpenCV
- linux-kernel - 谷歌云 - 重启后计算引擎无法与 ssh 连接和串行控制台工作
- javascript - 转场效果不转场就去掉了吗?
- c# - 如何处理可以从一个客户端更改为另一个客户端的对象