java的finally简单理解

1. 大家都知道,

    普通的try, catch, finally格式:

1 try{
2    //有可能会抛出异常的代码
3 }catch{
4    //抛出异常时处理的代码
5 }finally{
6   //无条件执行的代码,就不管是否抛出异常都会执行
7 }
View Code

2. 加入是这样呢,程序try catch部分中有return

1 try{
2    //有可能会抛出异常的代码
3 }catch{
4    //抛出异常时处理的代码
5   return//这里有return,finally还会执行吗
6 }finally{
7   //无条件执行的代码,就不管是否抛出异常都会执行
8 }
View Code

   结果是,finally还是会继续执行

3. 难道finally就真的是无条件,在任何情况下都会执行吗

1 try{
2    //有可能会抛出异常的代码
3 }catch{
4    //抛出异常时处理的代码
5    System.exit(0);//return搞不定,但exit(0)是退出整个程序,这样finally也不会执行了
6 }finally{
7   //无条件执行的代码,就不管是否抛出异常都会执行
8 }
View Code

   

原文地址:https://www.cnblogs.com/tommy-huang/p/4285460.html