# Yay, does not exceed call stack! :) @extensionmethod(rx.Observable, instancemethod=True) def on_error_resume(self, on_error=None): subject = rx.subjects.Subject() def _on_error(err): on_error(err) self.subscribe(on_next=subject.on_next, on_error=_on_error) self.subscribe(on_next=subject.on_next, on_error=_on_error) return subject