关于上篇文章的okhttp中对于onFailure回调的异常捕获

@Override
public void onFailure(Call call, IOException e) {
        if (e instanceof SocketTimeoutException) {
            // 重新提交验证   在这里最好限制提交次数
            client.newCall(call.request()).enqueue(this);
        }
        if (e instanceof ConnectTimeoutException) {
            Log.e("frost_connection",e.getMessage());
        }
}

SocketTimeoutException造成的原因是服务器响应超时

ConnectTimeoutException造成的原因是服务器请求超时

对应SocketTimeoutException解释为:服务器已经收到了请求,但是在做出响应的时候超时了,就会导致OKhttp回调onfailure方法,在这个时候,应该重新请求验证服务器是否做出更新。如果已经做出更新则为成功。

对应ConnectTimeoutException解释为:请求服务器超时,服务器并未收到来自客户端的请求。
————————————————
版权声明:本文为CSDN博主「android_frost」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/androidisgod/article/details/103986220

你可能感兴趣的:(迎刃而解)