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}")
            }
        }
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐