如果Java应用程序抛出未处理的异常,则会导致Eclipse在此时断开。有没有办法检查当前的异常?基本上,来自MSVS的$exception
?
答案 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,以及其他所有内容都添加到我的列表中并根据需要切换它们。