“默认处理程序显示描述异常的字符串,打印出一个
从发生异常的点开始堆栈跟踪,并终止程序。“
但这不会发生。每次我故意创建DivideByZero异常但不提供异常处理程序时,默认处理程序应该显示一个带有堆栈跟踪的字符串,但我的控制台为空,程序不会终止,只有它显示在调试面板中的异常。这可能是一个小问题,但我看起来异常应该在控制台中打印,但myconsole是空的。
我使用eclipse neon。
更新from comment:
public class Example {
public static void main(String args[]){
System.out.println(10/0);
}
}
这应该给ArithmeticException
,但控制台上没有显示任何内容。
答案 0 :(得分:1)
如果您Run
该程序,它将打印stacktrace。
如果您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,而不是Neon,但应该是相同的。