Class OperatorOnErrorResumeNextViaFunction<T>

  • Type Parameters:
    T - the value type
    All Implemented Interfaces:
    Func1<Subscriber<? super T>,​Subscriber<? super T>>, Function, Observable.Operator<T,​T>

    public final class OperatorOnErrorResumeNextViaFunction<T>
    extends java.lang.Object
    implements Observable.Operator<T,​T>
    Instruct an Observable to pass control to another Observable (the return value of a function) rather than invoking onError if it encounters an error.

    By default, when an Observable encounters an error that prevents it from emitting the expected item to its Observer, the Observable invokes its Observer's onError method, and then quits without invoking any more of its Observer's methods. The onErrorResumeNext operation changes this behavior. If you pass a function that returns an Observable (resumeFunction) to onErrorResumeNext, if the source Observable encounters an error, instead of invoking its Observer's onError method, it will instead relinquish control to this new Observable, which will invoke the Observer's onNext method if it is able to do so. In such a case, because no Observable necessarily invokes onError, the Observer may never know that an error happened.

    You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.