okhttp-OkGo icon indicating copy to clipboard operation
okhttp-OkGo copied to clipboard

如果url不正确,只调用了onerror方法, onfinish没有回调

Open Freedomhxb opened this issue 6 years ago • 1 comments

调用栈如下: 07-05 09:22:32.292 31467-31467/com.hxb.mes W/System.err: java.lang.IllegalArgumentException: unexpected url: http://:8099/web/mds_item/list.do at okhttp3.Request$Builder.url(Request.java:143) at com.lzy.okgo.request.PostRequest.generateRequest(PostRequest.java:47) at com.lzy.okgo.request.base.Request.getRawCall(Request.java:346) at com.lzy.okgo.cache.policy.BaseCachePolicy.prepareRawCall(BaseCachePolicy.java:95) at com.lzy.okgo.cache.policy.NoCachePolicy$3.run(NoCachePolicy.java:79) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

okgo com.lzy.okgo.cache.policy.NoCachePolicy#requestAsync 源码如下:

  public void run() {
            mCallback.onStart(request);
            try {
                prepareRawCall();
            } catch (Throwable throwable) {
                Response<T> error = Response.error(false, rawCall, null, throwable);
                mCallback.onError(error); 
                return;
            }
            requestNetworkAsync();
        }

看上面的源码,在发生异常的时候直接return了. 没有回调onfinish

Freedomhxb avatar Jul 05 '18 09:07 Freedomhxb

+1

DingMr avatar Mar 28 '24 06:03 DingMr