私は行動の主題を持っています
var source = new BehaviorSubject<int>(0);
次に、そのソースを次のようなもので処理します
var withErrors = source
.Select(v =>
{
if (v == 2)
{
throw new Exception("Ouch ");
}
return v;
})
エラーをスキップできるように withErrors に登録したいと思います。こんなキャッチでの試み。
public IObservabe<int> SkipError(IObservable<T> source){
return source
.Catch(e=>SkipErrors(source.Skip(1));
}
そしてそれをこう呼ぶ
var withoutErrors = SkipError(withErrors);
スキップは、行動主体の最後のエラーを繰り返さないようにする試みですが、残念ながらそのようには機能しません。スキップはエラーをスキップしませんが、有効なデータのみをスキップするため、動作サブジェクトの現在の状態からのエラーは通過し続けます。
エラーもスキップする Skip を書く賢い方法はありますか。これは不可能だと何かが私に言っていますが、うまくいけば私は間違っています