android - 仅在未实现 onError 时使用 RxJava 的全局错误处理解决方案

标签 android observable rx-java onerror subscriber

我的应用程序中有一个通用的错误处理解决方案,只要 onError 被调用,它就会被调用。我没有为每个 subscribe 实现 onError,而是在 Application 类中这样做:

RxJavaPlugins.getInstance().registerErrorHandler(new RxJavaErrorHandler() {
    @Override
    public void handleError(final Throwable throwable) {
        new ErrorHandler().call(throwable);
    }
});

但是我希望能够通过实现 onError 和根据:

来覆盖它

https://github.com/ReactiveX/RxJava/wiki/Plugins#rxjavaerrorhandler

This plugin allows you to register a function that will handle errors that are raised by RxJava but that cannot be handled by the ordinary RxJava onError notification process (for instance, if RxJava tries to propagate an error to a subscriber that has not implemented an onError handler).

这应该是我实现了onError的情况。然而,当在 RxJavaErrorHandler 中运行代码 handleError 时,仍然会首先调用,即使我已经实现了 onError

更新: 根据 zsxwing 的说法,wiki 已经用 RxJavaErrorHandler 的正确描述进行了更新。

最佳答案

我们在工作中所做的是创建一个观察者的子类,它具有默认的 onError 实现,如果需要,您仍然可以覆盖它。似乎可以解决您的用例。

关于android - 仅在未实现 onError 时使用 RxJava 的全局错误处理解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28627806/

相关文章:

android - 如何水平旋转由 drawTextonPath 创建的圆形文本?

java - android looper和executor线程池的区别

java - 如果MutableLiveData正在更改,为什么我的ViewModel不调用.observe()并通知适配器?

java - 取消订阅不会级联回 RxJava 中的基本可观察值

java - 使用 RxJava 同步两个异步 API 调用

android - android 中的 Houghlines 与 opencv

android - 在 Android 主页小部件(不在 Activity 中)中获取 TextView 的文本?

javascript - 路由解析器在没有订阅的情况下不会触发可观察的

java - 我的代码中的 <T> 在那里做什么?

kotlin - 在条件下可观察到的开关