4

アプリには、呼び出されるたびに呼び出される一般的なエラー処理ソリューションがありますonErroronErrorfor everyを実装する代わりに、クラスsubscribe内でこれを行いました。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

このプラグインを使用すると、RxJava によって発生するが、通常の RxJava onError 通知プロセスでは処理できないエラーを処理する関数を登録できます (たとえば、RxJava が、onError ハンドラーを実装していないサブスクライバーにエラーを伝達しようとする場合)。 )。

これは、私が実装した場合に当てはまるはずonErrorです。ただし、コードを実行すると、実装したにもかかわらず、handleError内部のコードが最初に呼び出されます。RxJavaErrorHandleronError

更新: zsxwing によると、wiki は の正しい説明で更新されましたRxJavaErrorHandler

4

1 に答える 1

0

私たちが仕事で行ったことは、必要に応じてオーバーライドできる onError のデフォルト実装を持つオブザーバーのサブクラスを作成することでした。あなたのユースケースを解決するようです。

于 2015-04-19T17:46:35.460 に答える