android– 使用rxJava2和改造的UndeliverableException

android– 使用rxJava2和改造的UndeliverableException,第1张

概述有一个例外,我的应用程序反复出现在Crashlytics(Fabric)上.我使用rxjava2进行改造以进行我的http调用.这就是崩解剂日志中的所有内容(下图).将不胜感激任何帮助/见解.FatalException:io.reactivex.exceptions.UndeliverableException:retrofit2.adapter.rxjava2.HttpExceptio

有一个例外,我的应用程序反复出现在Crashlytics(Fabric)上.我使用rxjava2进行改造以进行我的http调用.

这就是崩解剂日志中的所有内容(下图).将不胜感激任何帮助/见解.

Fatal Exception: io.reactivex.exceptions.UndeliverableException: retrofit2.adapter.rxjava2.httpException: http 404    at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)   at io.reactivex.internal.operators.single.SingleZipArray$ZipCoordinator.innerError(SingleZipArray.java:141)   at io.reactivex.internal.operators.single.SingleZipArray$ZipSingleObserver.onError(SingleZipArray.java:177)   at io.reactivex.internal.operators.single.SingleDoOnError$DoOnError.onError(SingleDoOnError.java:63)   at io.reactivex.internal.operators.single.SingleDoOnSuccess$DoOnSuccess.onError(SingleDoOnSuccess.java:64)   at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onError(SingleSubscribeOn.java:73)   at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onError(ObservableSingleSingle.java:95)   at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:56)   at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)   at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)   at io.reactivex.Observable.subscribe(Observable.java:10842)   at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)   at io.reactivex.Observable.subscribe(Observable.java:10842)   at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)   at io.reactivex.Single.subscribe(Single.java:2703)   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:61)   at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)   at java.util.concurrent.FutureTask.run(FutureTask.java:237)   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:152)   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)   at java.lang.Thread.run(Thread.java:818)Caused by retrofit2.adapter.rxjava2.httpException: http 404    at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54)   at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)   at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)   at io.reactivex.Observable.subscribe(Observable.java:10842)   at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)   at io.reactivex.Observable.subscribe(Observable.java:10842)   at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)   at io.reactivex.Single.subscribe(Single.java:2703)   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:61)   at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)   at java.util.concurrent.FutureTask.run(FutureTask.java:237)   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:152)   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)   at java.lang.Thread.run(Thread.java:818)

解决方法:

如果您没有给订户或Observer抛出lambable .. Rxjava无法捕获这些异常.因此,简单的解决方案是,只要订阅Observable或其他Rxjava类型,就会覆盖onError()方法并根据情况处理它们.

compositedisposable.add(Observable.just("start")        .doOnNext(ignored -> loadingIndicator.onNext(true))        .flatMap(ignored -> repository.getAndroIDDev())        .subscribe(posts::onNext, throwable -> Timber.e(throwable))); //second lambda is the solution, at lease you can log the errors, if you're not willing to handle them
总结

以上是内存溢出为你收集整理的android – 使用rxJava2和改造的UndeliverableException全部内容,希望文章能够帮你解决android – 使用rxJava2和改造的UndeliverableException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存