void main() {
Observable.just(1)
.doOnNext(integer -> dangerousOperation())
.subscribe(
integer -> {
// TODO
},
error -> {
if (error instanceof ExceptionA) {
// recover gracefully
}
});
}
void dangerousOperation() {
throw new ExceptionA();
}
假设我在我的应用程序中的许多地方执行了这个危险的操作。在每个流中,我都添加了一些特定于每个流的恢复代码。
我现在需要为我的危险操作添加一个新错误:
void dangerousOperation() {
Random random = new Random();
if (random.nextBoolean()) {
throw new ExceptionA();
} else {
throw new ExceptionB();
}
}
ExceptionB
同样的方法
. 换句话说,我想处理
ExceptionA
例外B
以全球性的方式。
有什么方法可以“截获”一个错误吗
每一个
RxJava流
是否将其传递给错误处理程序?++
例外B
在每一个OneError中,我都会复制很多代码。如果我完全从每个流中删除onError块,并且只依赖全局
RxJavaPlugins.setErrorHandler()
我无法处理
例外a
以特定于流的方式。