检查Eclipse调试器中的当前异常?

时间:2012-01-13 16:13:20

标签: java eclipse debugging

如果Java应用程序抛出未处理的异常,则会导致Eclipse在此时断开。有没有办法检查当前的异常?基本上,来自MSVS的$exception

4 个答案:

答案 0 :(得分:19)

认为在使用异常断点时会出现所描述的问题,在这种情况下,您无法访问异常变量,也无法在变量视图中对其进行检查。

我在以下帖子中找到了解决此问题的“解决方案”:Breakpoint at exception in Eclipse - how to examine Exception object?

是:

  

Eclipse Preferences中有一个允许检查的选项   被抛出的异常:

     

检查Java - >调试 - >在异常暂停时打开弹出窗口

     

使用此选项,将有一个允许检查的弹出窗口   异常。

     

奇怪的是,默认情况下不会选中此选项,因为它非常   有用!

答案 1 :(得分:3)

如果要检查Exception对象,请在catch块内设置断点,或者设置Exception断点,并将鼠标悬停在断点处的变量上。

try {
    ...code...
} catch (Exception e) {
    ...
}

将鼠标悬停在e上,或打开Eclipse Variables视图并添加异常变量的名称。

希望这有帮助!

答案 2 :(得分:0)

我通常会转到'变量'视图并查找保存异常的变量(通常是e),但我认为它取决于发生异常的特定上下文,这不是像你这样的Eclipse信息要求。

答案 3 :(得分:-1)

在eclipse的debug透视图中找到“Breakpoints”视图。现在找到带有“J”和“!”的工具栏图标,其工具提示应为“Add Java Exception Breakpoint”。单击此工具栏图标时,将打开一个窗口,您可以在其中键入例外名称并找到所需的名称。确保选中“暂停未捕获的例外”。您可能还想取消选中“暂停捕获的异常”,或者您可能会在代码中已经正确处理的异常中暂停/中断。然后单击“确定”。

现在,您将在断点列表中看到异常类型,并且可以在调试模式下运行Java应用程序。 Eclipse将暂停/中断未捕获的异常,然后您可以调试并查看变量等。 (请记住,您可以单击调用堆栈并查看其他变量和方法)

在断点列表中,您可以取消选中异常类型,使其不再挂起/中断该特定异常。这很方便,因此您不必一直删除/添加典型的异常类型。您可以想象我有NullPointerException,IllegalArgumentException,ArrayIndexOutOfBoundsException,以及其他所有内容都添加到我的列表中并根据需要切换它们。