相关疑难解决方法(0)

finally块总是运行吗?

是否有任何条件最终可能无法在java中运行?谢谢.

java finally

110
推荐指数
8
解决办法
7万
查看次数

finally {}块不会执行的情况是什么?

在Java try{} ... catch{} ... finally{}块中,finally{}无论try/catch中发生什么,通常都认为其中的代码是"保证"运行的.但是,我知道至少有两种情况不会执行:

  • 如果System.exit(0)被召唤; 要么,
  • 如果异常被抛到JVM并且发生默认行为(即printStackTrace()退出)

是否有任何其他程序行为会阻止finally{}块中的代码执行?代码在什么具体条件下执行?

编辑:正如NullUserException指出的那样,第二种情况实际上并非如此.我认为这是因为标准错误中的文本在标准输出之后打印出来,防止文本在没有向上滚动的情况下被看到.:) 道歉.

java jvm try-catch try-catch-finally

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

finally ×1

jvm ×1

try-catch ×1

try-catch-finally ×1