c# – 异常未被捕获

我们有以下代码:

try 
{
    // some code throwing MyException
}
catch (MyException ex)
{
    // [1]
    // no (re)throw here
}
catch (Exception ex)
{
    if (ex is MyException)
    {
        // [2]
    }
}

如果我们在没有附加调试器的情况下运行代码,一切运行正常.但是,如果我们调试代码,我们不会指出[1]而是[2].据我了解语言规范,这是不可能的.

甚至更奇怪,这段代码甚至在调试时也运行良好.这种奇怪的行为仅在几天前才开始.

最佳答案 根据原始来源,可能与此问题有关:
Why can’t I catch a generic exception in C#?

点赞