The RxJavaErrorHandler only gets invoked in SafeSubscriber._onError(ex). Given the use of operators as of RxJava 0.17.x, onErrors caught and handled by the onErrorResumeNext/onErrorReturn/... patterns don't propagate out to SafeSubscriber, and never get handled.