调试空catch块中的异常

时间:2008-09-02 15:38:10

标签: debugging exception ide try-catch

我正在调试一个生产应用程序,它有一些空的catch块叹息

try {*SOME CODE*}
catch{}

当调试器遇到IDE中的catch时,有没有办法看到异常是什么?

7 个答案:

答案 0 :(得分:7)

在VS中,如果你在catch块中查看IDE的Locals区域,你将获得$ EXCEPTION的效果,它将获得刚捕获的异常的所有信息。

答案 1 :(得分:3)

在Visual Studio中 - 调试 - >例外 - >选中“抛出的列”中的“公共语言运行时异常”复选框

答案 2 :(得分:1)

你可以写

catch (Exception ex) { }

然后,当抛出异常并在此处捕获时,您可以检查ex。

答案 3 :(得分:1)

不可能,因为该代码块说“我不关心异常”。您可以执行全局查找并使用以下代码替换以查看异常。

catch {}

以下

catch (Exception exc) {
#IF DEBUG
    object o = exc;
#ENDIF
}

这样做是为了保持当前无法捕获生产代码,但在DEBUG中运行时,它允许您在对象o上设置断点。

答案 4 :(得分:1)

如果您正在使用Visual Studio,则无论何时抛出异常,都可以选择中断,无论它是否未处理。抛出异常时,异常助手(可能只有VS 2005及更高版本)会告诉你它是什么类型的异常。

Ctrl + Alt + E 以显示异常选项对话框并启用此功能。

答案 5 :(得分:0)

你能不能在那时添加一个Exception并检查它?

答案 6 :(得分:0)

@sectrean

这不起作用,因为如果没有使用它,编译器会忽略Exception ex值。