Глобальное решение для обработки ошибок с помощью RxJava, только когда onError не реализован

У меня есть общее решение для обработки ошибок в моем приложении, которое должно вызываться всякий раз, когда onError называется. Вместо реализации onError для каждого 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

Этот плагин позволяет зарегистрировать функцию, которая будет обрабатывать ошибки, которые вызываются RxJava, но которые не могут быть обработаны обычным процессом уведомления onxrror RxJava (например, если RxJava пытается передать ошибку подписчику, который не реализовал обработчик onError).

Это должно было быть в случае, когда я реализовал onError, Однако при запуске кода handleError внутри RxJavaErrorHandlerпо-прежнему вызывается первым, хотя я реализовалonError,

Обновление: согласно zsxwing, вики была обновлена ​​с правильным описанием RxJavaErrorHandler,

1 ответ

На работе мы создали подкласс наблюдателя, который имеет стандартную реализацию onError, которую вы все равно можете переопределить при необходимости. Кажется, решить ваш вариант использования.

Другие вопросы по тегам