2013-07-12 75 views
1

我有一個主題正在做一些反序列化。我認爲我正在考慮處理反序列化異常並在我的主題上調用OnError(ex)來通知客戶。然而,我感到有點驚訝,因爲調用OnError似乎斷開了我所有的觀察者。這是預期的行爲?在我的情況下,我想提供例外情況,以便客戶可以根據需要登錄,但仍然繼續。我不能那樣做嗎?使用Rx,OnError清除觀察者

回答

2

這是打算。 OnErrorOnComplete類似 - 一旦你打電話給你,你不能再打電話給OnNext,所以觀察者沒有任何意義。考慮相反的情況:一旦MoveNext()拋出,你不能繼續枚舉IEnumerator

如果你想讓這個observable繼續下去,你需要爲錯誤創建一個單獨的observable。

+0

很酷,謝謝你的回答! –