我有一个循环,它连续打印一个数字,最多可达 200。但是,java 在循环中间停止,没有任何输出表明错误。
class TestContinuousRun {
public static void main(String[] args) {
int i=0;
try {
while(i<200){
System.out.println(i++);
Thread.sleep(5000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
我已经尝试使用 javac 从命令行从上面的简单 .java 文件进行编译。我还尝试使用 Netbeans IDE 和调试。我什至尝试过从 Netbeans 编译并从命令行运行。但没有成功。
我也一直在检查,但它总是运行不同的时间段,有时 5 分钟,有时不到一分钟。
关于可能出现问题的任何线索吗? 或者我如何在没有信息的情况下开始调试?
最佳答案
我的猜测是有东西正在调用 System.exit ,它会退出而不会导致错误。您可以在项目上使用 Find 来搜索 System.exit(0) 的源代码或在 System.exit 上放置一个断点。
调试 -> 新断点,调试器:Java,断点类型:方法,类:java.lang.System,取消选中所有方法复选框,方法:退出
关于Java 在到达循环结束之前停止且没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923869/