2017-04-16 82 views
-1

「的默認處理程序顯示一個描述異常的字符串,打印從在發生異常的點a 棧跟蹤,並終止該程序。」
但是這不會發生。每次我故意創建一個DivideByZero異常但不提供異常處理程序時,默認處理程序應該顯示一個帶有堆棧跟蹤的字符串,但是我的控制檯是空的,並且程序沒有終止,只有它顯示在調試面板中。這可能是一個小問題,但每個我看起來異常的地方都應該在控制檯中打印出來,但myconsole是空的。蝕控制檯不顯示異常

我用eclipse霓虹燈。


更新from comment

public class Example { 
    public static void main(String args[]){ 
     System.out.println(10/0); 
    } 
} 

這應該給ArithmeticException但在控制檯中顯示任何內容。

+1

我們展示你的代碼。除以零是一個運行時異常,應該拋出一個'ArithmeticException'。 –

+0

public class Example { \t public static void main(String args []){ \t \t System.out.println(10/0); \t}} 這 應該給ArithmeticException但在控制檯中顯示任何內容。 @TimBiegeleisen –

回答

1

如果Run程序,它會打印堆棧跟蹤。

如果Debug程序,調試器將(默認)中止執行,未捕獲異常被拋出,但它會(默認)沒有表現出異常。選擇Resume (F8)繼續執行,程序將結束並打印堆棧跟蹤。

如果您不打算調試程序,選擇Run啓動程序,而不是Debug

如果你想調試,但不希望在未捕獲的異常停止執行,開放Window>Preferences,去Java>Debug,並取消選中Suspend execution on uncaught exceptions

如果你仍想停止對未捕獲的異常執行,但你也想實際看到例外,開放Window>Preferences,去Java>Debug,檢查Open popup when suspended on exception來源:Inspect current exception in Eclipse debugger?

注:以上是從Eclipse的Mars.2,沒有霓虹燈,但應該是相同的。

+0

這確實有幫助。太感謝了。 @Andreas –