Rxjava + Retrofit 得到致命异常:RxCachedThreadScheduler

Rxjava + Retrofit get FATAL Exception: RxCachedThreadScheduler

代码如下:

Observable.combineLatest(observable1, observable2,observable3, observable4,observable5,new Function5<>())

当一个或多个 observables return 代码 = 404 时,我抛出异常

 return Observable.error(
                    new RxApiException(tHttpResult.getCode(), tHttpResult.getMessage()));

我会得到

FATAL EXCEPTION : RxCachedThreadScheduler-3

如何解决这个问题?

您需要定义处理错误的方式。如果没有为 Observable 的消费者设置 onError 处理程序,它将被转发到执行线程的未捕获异常处理程序。

在 android 上,异常处理程序在触发时导致致命异常,关闭应用程序。

定义应处理错误的方式或使用 RxJavaPlugins.registerErrorHandler(...) 定义应如何为整个应用程序处理未处理的异常。