rxjava2 – onerror 在 monkey test 下 crash 解决方案

RxJava2, 在 Monkey Testing 的时候,总会报一些错误,这些错误都是调用 onError 发生的,理论上说 onError 就是专门处理异常的不应该 crash 掉的,百思不得其解。

解决方案

emitter 判断 isDisposed 后才传递异常

1
2
3
4
5
6
7
8
9
10
11
Observable.create(emitter -> {

try {
responsebody.string();
} catch (InterruptedException ex) {
if (!emitter.isDisposed()) {
emitter.onError(ex);
return;
}
}
})

参考:https://github.com/ReactiveX/RxJava/issues/4863