2008-09-02 37 views
8

我调试具有空的catch块的皮疹生产应用程序感叹调试异常在一个空的catch块

try {*SOME CODE*} 
catch{} 

有没有看问题的方法是,当调试器有什么异常在IDE中碰到了什么?

+0

对不起应该更清楚 - 我不能改变代码 - 我只是想找出一些错误 – Rikalous 2008-09-02 15:44:11

回答

1

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

命中按Ctrl + Alt键+Ë弹出例外选项对话框,然后打开该选项。

0

难道你不能在这一点上添加一个异常并检查它吗?

3

在Visual Studio - 调试 - >例外 - >在抛出该异常列勾选的“通用语言运行时例外”

6

在VS,如果你在你的IDE的当地人区域看,而catch块,您将获得$ EXCEPTION的效果,其中包含刚刚捕获的异常的所有信息。

+0

我看不到那个地方 – Rikalous 2008-09-15 08:55:21

+0

你在哪里见过?扩展信息 – 2010-09-29 08:01:12

1

你可以写

catch (Exception ex) { } 

然后当一个异常被抛出,在这里抓住了,你可以检查前。

1

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

catch {} 

具有以下

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

这是什么会做的是保持当前的生产代码什么也不做赶上,但在DEBUG运行时,它可以让你对对象o设置断点。

0

@sectrean

这并不工作,因为编译器会忽略异常前值,如果没有什么使用它。