我是 rxJava 的新手,这可能是一个非常愚蠢的问题,但我无法弄清楚如何在重试时找到异常类型。我想重试特定异常(例如 Io 异常),但在其他异常中我想将异常传递到链中。
public Observable<List<String>> getData()
{
return apiConsumer.getData()
.retryWhen(new Func1<Observable<? extends Throwable>, Observable<?>>()
{
@Override
public Observable<?> call(Observable<? extends Throwable> observable)
{
// if(exception type == io exception)
return observable.delay(5, TimeUnit.SECONDS);
//else
// dont retry, pass the exception to onError
}
});
}
Run Code Online (Sandbox Code Playgroud)