java.lang.RuntimeException: io.reactivex.exceptions.UndeliverableException
【在使用RxJava时报错】
Stack trace :
java.lang.RuntimeException: io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What’s-different-in-2.0#error-handling |
【原因参考】
https://proandroiddev.com/rxjava2-undeliverableexception-f01d19d18048
【解决办法】
打印出具体错误原因,然后在review自己代码并解决,本次遇到的问题时在断开网络时做网络请求,自己的代码内部抛出了一个自定义异常,只需要限制仅在有网情况下才做网络请求即可。
RxJavaPlugins.setErrorHandler { e ->
if (e is UndeliverableException) {
Log.i("tag", "${e.cause}")
}
}