1

我有一个正在反序列化的主题。我认为我通过处理反序列化异常并在我的主题上调用 OnError(ex) 只是为了通知客户而考虑周到。然而,调用 OnError 似乎断开了我所有的观察者,我有点惊讶。这是预期的行为吗?就我而言,我想提供异常,以便客户可以根据需要记录它,但继续前进。我不能那样做吗?

4

1 回答 1

2

这是有意的。OnError类似于OnComplete-- 一旦你调用它,你就不能再调用OnNext了,所以观察者留下来没有意义。考虑反过来:你不能继续枚举IEnumerator一次MoveNext()抛出。

如果你希望这个 observable 继续运行,你需要为错误创建一个单独的 observable。

于 2013-07-12T21:46:03.867 回答