Android 接收中的错误处理

Android 接收中的错误处理,android,rx-java,rx-android,Android,Rx Java,Rx Android,我正在尝试处理Rx android网络中的错误,但无法做到这一点可能会有所帮助 getCompositeDisposable().add(getManager().callApi(request) .subscribeOn(Schedulers.io()) .observeOn(Schedulers.ui()) .subscribe(apiResponse -> Log.d(TAG,"success"), t

我正在尝试处理Rx android网络中的错误,但无法做到这一点可能会有所帮助

 getCompositeDisposable().add(getManager().callApi(request)
        .subscribeOn(Schedulers.io())
        .observeOn(Schedulers.ui())
        .subscribe(apiResponse -> Log.d(TAG,"success"),
                throwable -> Log.e(TAG,throwable.getMessage)));
我想处理subscribe()中的错误

日志:

 io.reactivex.exceptions.OnErrorNotImplementedException: java.net.ConnectException: Failed to connect 
 at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
 at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
 at io.reactivex.internal.observers.ConsumerSingleObserver.onError(ConsumerSingleObserver.java:47)
 at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:79)
 at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)
 at android.os.Handler.handleCallback(Handler.java:739)
 at android.os.Handler.dispatchMessage(Handler.java:95)
 at android.os.Looper.loop(Looper.java:158)
 at android.app.ActivityThread.main(ActivityThread.java:7231)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
 Caused by: com.androidnetworking.error.ANError: java.net.ConnectException: Failed to connect to /192.168.1.42:8484
 at com.rx2androidnetworking.Rx2InternalNetworking$SimpleANObservable.subscribeActual(Rx2InternalNetworking.java:235)
 at io.reactivex.Observable.subscribe(Observable.java:10981)
 at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
 at io.reactivex.Single.subscribe(Single.java:2801)
 at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
 at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
 at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
 at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)

不幸的是,我不能发表评论。你能说得更具体些吗?你犯了什么错误?使用rx处理错误的常见方法如下所示:

 Subscription subscribe = apiServices.endpointCall(...parameters...)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .unsubscribeOn(Schedulers.io());
            .subscribe(response -> {
                //do something with response
            }, throwable -> {
                //do something with error
            });
其中apiService是通过使用

 service = retrofit.create(ApiServices.class);

这看起来不像是生成日志的代码当我尝试连接到5G网络时会抛出此异常,否则它工作正常@laaltoI我非常确定我的示例应该可以工作,但如果您仍然有问题,您可以尝试此解决方案,在该解决方案下,您可以使用模板找到示例