2013-06-24 65 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,你可以檢查/鑽入