try catch finally详解

2018-01-05  本文已影响0人  _fatef

注:有两种情况finally块将不会执行

  1. 在try语句还没有执行就return了。故finally块被执行的充分必要条件:对应的try语句一定执行。
  2. 在try块中有System.exit(0);这样的语句,System.exit(0);是终止Java虚拟机JVM的,连JVM都停止了,所有都结束了,当然finally语句也不会被执行到。

注:如果finally存在的话,任何执行try 或者catch中的return语句之前,都会先执行finally语句。如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,编译器把finally中的return实现为一个warning。

上一篇下一篇

猜你喜欢

热点阅读