1
我正在实施IObserver。有没有关于从IObserver的实现抛出异常的约定?
是否存在关于从IObserver抛出异常的约定?
OnNext或者我的实现的任何其他方法是否会抛出异常?
如果在OnNext或OnCompleted中引发异常应该发生什么 - 我应该捕获所有异常并调用this.OnError(ex)吗?
如果OnError抛出会发生什么?
我正在实施IObserver。有没有关于从IObserver的实现抛出异常的约定?
是否存在关于从IObserver抛出异常的约定?
OnNext或者我的实现的任何其他方法是否会抛出异常?
如果在OnNext或OnCompleted中引发异常应该发生什么 - 我应该捕获所有异常并调用this.OnError(ex)吗?
如果OnError抛出会发生什么?
根据以前关于Rx论坛的讨论,最好的做法是如果OnNext抛出,只要让它冒泡以便由Subscribe方法处理,如果用户决定处理它,他们就会这样做。
其实答案并不那么简单,但你可以检查出您问题相关的线程,here:
更密切的关系大概是这样的主题:What if an exception is thrown by the observer in OnNext