错误处理程序:
<T,E extends Throwable> Observable<T> whenExceptionIs(Class<E> what, Func1<E,Observable<T>> result) { return t -> { return what.isInstance(t) ? result.call(t) : Observable.error(t); }; }您可以这样使用:
Observable<Foo> obs = ... .onErrorResumeNext(whenExceptionIs(IllegalArgumentException.class, t-> Observable.just(Foo.newInstance()))) .onErrorResumeNext(whenExceptionIs(IOException.class, t-> Observable.error(new XyzzyException("",t)))) ....


