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

Android 仅在未实现onError时使用RxJava的全局错误处理解决方案,android,observable,rx-java,onerror,subscriber,Android,Observable,Rx Java,Onerror,Subscriber,我的应用程序中有一个通用的错误处理解决方案,每当调用onError时都应该调用它。我没有为每个订阅实现onError,而是在应用程序类中实现了这一点: RxJavaPlugins.getInstance().registerErrorHandler(new RxJavaErrorHandler() { @Override public void handleError(final Throwable throwable) { new ErrorHandler().

我的应用程序中有一个通用的错误处理解决方案,每当调用
onError
时都应该调用它。我没有为每个
订阅
实现
onError
,而是在
应用程序
类中实现了这一点:

RxJavaPlugins.getInstance().registerErrorHandler(new RxJavaErrorHandler() {
    @Override
    public void handleError(final Throwable throwable) {
        new ErrorHandler().call(throwable);
    }
});
但是,我希望能够通过实现
onError
,并根据以下内容覆盖此功能:

此插件允许您注册一个函数,该函数将处理RxJava引发的错误,但普通RxJava onError通知进程无法处理这些错误(例如,如果RxJava试图将错误传播到尚未实现onError处理程序的订阅服务器)

我应该已经实现了
onError
。然而,当运行
handleError
内部
RxJavaErrorHandler
的代码时,仍然会首先被调用,即使我已经实现了
onError

更新:
根据zsxwing的说法,wiki已经用
RxJavaErrorHandler

的正确描述进行了更新,我们在工作中做的是创建一个observer的子类,它有一个OneError的默认实现,如果需要,您仍然可以覆盖它。似乎解决了您的用例。

我认为这在维基中是不准确的。。。无论是否有与观测者关联的
onError
处理程序,都会调用
onError
,而不仅仅是在没有相关联的情况下。。。如果没有人确认这一点,你可以尝试打开一个关于RxJava的github问题的讨论,有没有其他方法来完成我想要的?我想你可以使用OnErrorNotImplementedException的可丢弃实例来检查是否缺少onError实现。我更新了wiki来修复RxJavaErrorHandler的描述