首页 > 解决方案 > 我们什么时候在 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.

标签: retrofit2

解决方案


推荐阅读