【发布时间】:2018-12-20 11:52:10
【问题描述】:
我正在处理一些try...catch...finally 处决,并注意到finally 中的断点似乎不会被命中:
try {
System.out.println("in try");
int num = 5 / 0;
} catch (ArithmeticException e) {
System.out.println("in catch");
} finally {
System.out.println(); //breakpoint here
System.out.println("in finally");
}
finally 中的断点似乎没有命中,但打印成功。
但是,如果我将try 更改为int num = 5 / 1;,因此不进入catch,则断点被命中。
我使用的是 Netbeans 8.1。
这是有原因的吗?
【问题讨论】:
-
您是否处于调试模式?
-
@NiVeR 例如,我可以在
try中打断点。 -
@Shark
System.out.println();不打印任何内容。它打印一个换行符。 -
@Shark 不,它不会在之后上线,我添加了这两行以测试两者以防万一。
-
exampleMethod()和exampleMethod2()无限相互调用。你确定这些方法都没有在任何地方被调用吗?您能否使用 exampleMethod 进行测试删除对exampleMethod2()的调用并查看 finally 是否仍未到达?
标签: java breakpoints