每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

finally代码段不是必须有的,但是如果有该代码段,必须紧跟在最后一个catch代码段后面,作为异常处理机制的统一出口(做善后处理),例如资源的关闭,无论try中是否产生异常,finally中的代码总在当前方法返回之前无条件执行,因此即使catch中包含return的代码,finally依然会执行,并且是在return语句执行之前执行,但需要注意的是,如果在某个catch代码段中已经执行了要终止程序的System.exit()方法,那么此时finally中的代码不会执行。

你可能感兴趣的:(Java面试题,java,开发语言,面试,ide)