吞咽IObservable异常

Ben*_*sen 2 exception system.reactive

是否有可能设计一个Rx运算符,它以相同的顺序吞下重复的异常(与Retry或Catch不同)?本质上与.Select(x => x)相同,但在此过程中忽略异常.(我知道这是违反准则的).

Jam*_*rld 6

最简洁的答案是不".

稍微简短的回答是你的前提是有缺陷的; 这是因为你不能有一个Observable抛出多个错误,而你假设的运算符将是一个Observer.根据定义,观察者不应该影响Observables(只是不告诉Heisenberg我说过).

因此,这样的运算符在逻辑上是不可能的,因为它需要更改历史记录 - 返回并防止Observable抛出异常.当然,除非您的Observable违反了Rx的规则.

不要那样做.:)无论如何,Rx会做得很好.Subject<T>例如,在第一次OnError之后就不会发布.