java中finally注意事项

java问题王 Java每日一问 发布时间:2021-09-23 14:40:47 阅读数:4609 1
在日常的开发中,我们经常听人说:
finally代码块,将在try和catch代码块后调用,
但是也有不被调用情况
如下所示:

以下情况finally将不会被运行
  1. 调用System.exit()
  2. 调用 Runtime.getRuntime().halt(exitStatus)
  3. JVM首先崩溃
  4. JVM在try或catch块中达到了无限循环(或其他不间断,不终止的语句)
  5. 操作系统是否强行终止了JVM进程;例如,kill -9 <pid>在UNIX上
  6. 主机系统死机;例如,电源故障,硬件错误,操作系统崩溃等
  7. 该finally块将由守护程序线程执行并且所有其他非守护程序线程在finally调用之前退出
例: finally不被运行的示例分享
package com.java265.other;
public class test {
	/*
	 * java265.com finally运行的示例分享
	 */
	public static void main(String[] args) {
		finallyNoRunTest();
	}
	public static int finallyNoRunTest() {
		try {
			return 0;
		} finally {
			System.out.println("finally会运行");
		}
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202109/1201.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者