Runnable runnable = ()->{
int i=0;
while (i<9999) {
if(i%2 == 0){
System.out.println(“偶数:”+i);
}
i++;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(“输出完毕,程序结束”);
};
当try catch只包含到Thread.sleep()的时候,第一次进入到休眠接收到中断信号后catch住了异常并打印出来,但是程序后面还会继续执行打印 偶数 ,后面也不会再次中断。
try catch包住整个while的时候,第一次进入sleep然后catch了异常,程序就会停止了。
我想请问悟空老师,为什么会这样?try catch的范围影响这么大吗?