doOnError 不捕获异常
2022-09-04 08:13:55
我刚刚开始使用RxJava,但也许有些东西还没有点击。
1.
Integer[] items = {1, 2, 3, 0, 0, 4, 5, 6, 1};
Observable.from(items)
.map(this::invert)
.subscribe(i -> Log.d(LOG_TAG, "Inverted: " + i), t -> Log.d(LOG_TAG, "Error: " + t.getMessage()));
2.
Integer[] items = {1, 2, 3, 0, 0, 4, 5, 6, 1};
Observable.from(items)
.map(this::invert)
.doOnError(t -> Log.d(LOG_TAG, "Error: " + t.getMessage()))
.doOnNext(i -> Log.d(LOG_TAG, "Inverted: " + i))
.subscribe();
功能:invert
int invert(int i) {
return 1 / i;
}
第一个正常执行,当引发异常时,将执行。但另一方面,第二个不起作用,因此异常一直抛到调用方法。onError
这两个代码块之间有什么区别?