代码之家  ›  专栏  ›  技术社区  ›  Thomas Freudenberg

未捕获异常

  •  4
  • Thomas Freudenberg  · 技术社区  · 16 年前

    我们有以下代码:

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

    如果我们运行代码 没有 附加了调试器,一切运行正常。但是,如果我们 调试 代码,我们不是指[1]而是指[2]。就我所理解的语言规范而言,这是不可能的。

    更奇怪的是,这段代码在调试时也能正常运行。奇怪的行为几天前才开始。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

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

        2
  •  1
  •   slugster Joey Cai    16 年前

    检查您是否已完成完全重建,并且正在使用正确的pdb文件。还要检查是否没有一些条件编译的代码更改内容(即 #if DEBUG 陈述)。

    推荐文章