diff --git a/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaFunction.java b/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaFunction.java index b12c10d391..27994572c0 100644 --- a/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaFunction.java +++ b/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaFunction.java @@ -70,11 +70,11 @@ public void onCompleted() { public void onError(Throwable e) { if (done) { Exceptions.throwIfFatal(e); + RxJavaPlugins.getInstance().getErrorHandler().handleError(e); return; } done = true; try { - RxJavaPlugins.getInstance().getErrorHandler().handleError(e); unsubscribe(); Subscriber next = new Subscriber() { @Override diff --git a/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaObservable.java b/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaObservable.java index 3e8afcea00..3ee828f9ca 100644 --- a/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaObservable.java +++ b/src/main/java/rx/internal/operators/OperatorOnErrorResumeNextViaObservable.java @@ -68,10 +68,10 @@ public void onNext(T t) { public void onError(Throwable e) { if (done) { Exceptions.throwIfFatal(e); + RxJavaPlugins.getInstance().getErrorHandler().handleError(e); return; } done = true; - RxJavaPlugins.getInstance().getErrorHandler().handleError(e); unsubscribe(); resumeSequence.unsafeSubscribe(child); } diff --git a/src/main/java/rx/internal/operators/OperatorOnErrorReturn.java b/src/main/java/rx/internal/operators/OperatorOnErrorReturn.java index 3830f591fd..b3023f8edc 100644 --- a/src/main/java/rx/internal/operators/OperatorOnErrorReturn.java +++ b/src/main/java/rx/internal/operators/OperatorOnErrorReturn.java @@ -69,11 +69,11 @@ public void onNext(T t) { public void onError(Throwable e) { if (done) { Exceptions.throwIfFatal(e); + RxJavaPlugins.getInstance().getErrorHandler().handleError(e); return; } done = true; try { - RxJavaPlugins.getInstance().getErrorHandler().handleError(e); unsubscribe(); T result = resultFunction.call(e); child.onNext(result); diff --git a/src/main/java/rx/internal/operators/OperatorOnExceptionResumeNextViaObservable.java b/src/main/java/rx/internal/operators/OperatorOnExceptionResumeNextViaObservable.java index be76097443..08e3f5550b 100644 --- a/src/main/java/rx/internal/operators/OperatorOnExceptionResumeNextViaObservable.java +++ b/src/main/java/rx/internal/operators/OperatorOnExceptionResumeNextViaObservable.java @@ -72,11 +72,11 @@ public void onNext(T t) { public void onError(Throwable e) { if (done) { Exceptions.throwIfFatal(e); + RxJavaPlugins.getInstance().getErrorHandler().handleError(e); return; } done = true; if (e instanceof Exception) { - RxJavaPlugins.getInstance().getErrorHandler().handleError(e); unsubscribe(); resumeSequence.unsafeSubscribe(child); } else {