如何在Visual Studio调试器中忽略RX流中捕获的异常

时间:2017-04-28 10:50:52

标签: c# visual-studio system.reactive

我有这样的代码:

int Check(int value)
{
    if (value < 100)
        throw new Exception();
    return value;
}

var s = new Subject<int>();
s.Select(Check)
    .Retry()
    .Subscribe();

当我调用s.OnNext(50);时,我在Visual Studio中的调试器在线throw new Exception();停止它不是很有用,因为在我的情况下有异常是非常的邮件而且我希望有类似于使用的行为try-catch阻止,捕获的异常不会停止调试过程。

1 个答案:

答案 0 :(得分:0)

这是调试器问题。代码很好。

试试这个:

void Main()
{
    var s = new Subject<int>();
        s.Select(Check)
            .Retry()
            .Subscribe(x => Console.WriteLine(x));

    s.OnNext(50);
    s.OnNext(500);
}

int Check(int value)
{
    if (value < 100)
        throw new Exception();
    return value;
}

您仍然可以500,因此您需要更改调试器设置。