finally语句块在什么情况下不会执行

2024-11-29 18:05:51

1、先创建一个正规的try与finally语句块正常运行是会运行finally的,如图

finally语句块在什么情况下不会执行finally语句块在什么情况下不会执行

2、现在在try语句块在加上System.exit(1)这句话意指终止当前虚拟机,如图

finally语句块在什么情况下不会执行

3、在运行代码可以看到控制台没有输出finally语句块中的内容,说明终止虚拟机就不会只finally语句了,如图

finally语句块在什么情况下不会执行

4、在创建一个关于守护线程带非守护线程的方法,这里实现的是守护线程比非守护线程晚结束,非守护线程的finally会被执行,如图

finally语句块在什么情况下不会执行finally语句块在什么情况下不会执行

5、如果把守护线程成修改成非守护线程早执行结束,如图

finally语句块在什么情况下不会执行

6、再次执行会发现非守护线程的finally语句也是不执行的,如图

finally语句块在什么情况下不会执行
猜你喜欢