使用响应式框架进行错误处理
本文关键字:错误 处理 框架 响应 | 更新日期: 2023-09-27 18:18:27
我已经设计了本质上是一个属性改变侦听器-即当实例。A发生变化,调用onchanged ()
Observable.FromEventPattern<PropertyChangedEventArgs>(Instance,"PropertyChanged")
.Where(e => e.EventArgs.PropertyName == "A")
.ObserveOn(Scheduler.ThreadPool)
.Subscribe(search =>
OnAChanged((PropertyChangedEventArgsEx)search.EventArgs), s =>
OnError(s));
这完全可以工作(没有s => OnError(s)
部分)。
然而,我想测试异常处理。我修改了OnAChanged()
方法,只是抛出一个新的异常。然而,异常被抛出,OnError
从未被调用,我的应用程序崩溃。我是否误解了OnError
的用法?
你误解了OnError - OnError是IObservable的一个属性。基于事件的IObservables永远不会OnError(因为没有"事件异常"之类的东西)。如果你有不同的来源,比如Observable。首先,你可以看到OnError.