2013-06-24 49 views
0

Eclipse 4.2.2(与Oracle JDK 1.7.0一起使用)显示在​​Block中引发的异常 - 错误行中的异常,即块的开始。Eclipse在错误行中显示异常

在现实世界的例子中,找到异常发生的地方并不总是很容易。 有没有什么办法让Eclipse显示引发异常的实际行?


最小工作示例:

public class Test { 

    public static void main(String[] args) { 
     Test test = new Test(); 
     test.test(); 
    } 

    void test() { 
     synchronized (this) { 
     throw new RuntimeException(); 
     } 
    } 
    } 

的Eclipse这里显示了异常:

exception in line "synchronized (this)"

堆栈跟踪:

stack trace

+4

你试过重新编译你的班?这可能是因为您已经构建了该项目,然后修改了这些行。 – Tala

+0

这是你的代码,它显示的例外,或者它显示的一些下载的API –

+0

这是我的代码,我试图清理项目并重新执行。 – fefrei

回答

5

您拥有的屏幕截图不是例外,而是Debug视图。它向您显示当前执行线的位置,这是正确的。 RuntimeException已被抛出,现在执行正在解开回到顶端。在screeenshot,执行已到达9行

在Eclipse

控制台视图显示excepion和正确地列出线10

Exception in thread "main" java.lang.RuntimeException 
at LineNumber.test(LineNumber.java:10) 
at LineNumber.main(LineNumber.java:5) 

不能检查异常,直接在这里(据我知道),因为它没有被捕获到变量中)。但是如果你进入Preferences-> Java-> Debug-> Open Popup When Suspended Exception,Eclipse会创建一个包含异常(带有正确行数)的pop,你可以检查/钻入