今天爱分享给大家带来java try-catch-finally执行顺序【面试题详解】,希望能够帮助到大家。
不管是否有异常产生,finally块中代码都会执行,除非遇到System.exit(0)
当try和catch中有return语句时,finally块仍然会执行
finally是在return后面的表达式运算执行的,所以函数返回值在finally执行前确定的,无论finally中的代码怎么样,返回的值都不会改变,仍然是之前return语句中保存的值
finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值
finally 块里 return 语句会把 try 块或者 catch 块里的 return 语句效果给覆盖掉且吞掉了异常