我正在调试一个生产应用程序,它有一些空的catch块叹息:
try {*SOME CODE*}
catch{}
当调试器遇到IDE中的catch时,有没有办法看到异常是什么?
答案 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值。