public override void OnError(Exception error) { var e = error as TException; if (e != null) { IObservable <T> next; try { if (parent.errorHandler == Stubs.CatchIgnore <T> ) { next = Observable.Empty <T>(); // for avoid iOS AOT } else { next = parent.errorHandler(e); } } catch (Exception ex) { try { observer.OnError(ex); } finally { Dispose(); }; return; } var d = new SingleAssignmentDisposable(); serialDisposable.Disposable = d; d.Disposable = next.Subscribe(observer); } else { try { observer.OnError(error); } finally { Dispose(); }; return; } }
public override void OnError(Exception error) { TException val = error as TException; if (val != null) { UniRx.IObservable <T> observable; try { observable = ((!(parent.errorHandler == new Func <TException, UniRx.IObservable <T> >(Stubs.CatchIgnore <T>))) ? parent.errorHandler(val) : Observable.Empty <T>()); } catch (Exception error2) { try { observer.OnError(error2); } finally { Dispose(); } return; } SingleAssignmentDisposable singleAssignmentDisposable = new SingleAssignmentDisposable(); serialDisposable.Disposable = singleAssignmentDisposable; singleAssignmentDisposable.Disposable = observable.Subscribe(observer); } else { try { observer.OnError(error); } finally { Dispose(); } } }