猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
finally块总是运行吗?
是否有任何条件最终可能无法在java中运行?谢谢。
慕码人8056858
浏览 418
回答 3
3回答
慕标琳琳
来自Sun教程注意:如果在执行try或catch代码时JVM退出,则finally块可能无法执行。同样,如果执行try或catch代码的线程被中断或终止,则即使应用程序作为一个整体继续,finally块也可能无法执行。我不知道finally块不会执行的任何其他方式......
0
0
0
HUWWW
System.exit关闭虚拟机。终止当前运行的Java虚拟机。该参数用作状态代码; 按照惯例,非零状态代码表示异常终止。此方法exit在类中调用该方法Runtime。此方法永远不会正常返回。 try { System.out.println("hello"); System.exit(0); } finally { System.out.println("bye"); } // try-finally“bye”不会在上面的代码中打印出来。
0
0
0
慕斯709654
只是为了扩展其他人所说的内容,任何不会导致JVM退出的事情都将导致finally块。所以方法如下:public static int Stupid() { try { return 0; } finally { return 1; }}会奇怪地编译并返回1。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续