try{} catch{} finally{},finally一定都会去执行,常在finally进行释放锁、释放连接等操作。
案例一代码分析
package top.chenxi.test;
/**
* Created with IntelliJ IDEA.
*
* @Author: chenxiky
* @Date: 2022/06/03/13:36
* @Description: try finally执行顺序
*/
public class FinallyTest {
public static void main(String[] args) {
try {
System.out.println("chenxiky is test!!");
} catch (Exception e) {
e.printStackTrace();
} finally {
// Ctrl+Shift+U 小写转大写
System.out.println("CHENXIKY IS TEST2!!");
}
}
}
执行结果如下:
chenxiky is test!!
CHENXIKY IS TEST2!!先执行了try代码块,再执行finally代码块
案例二代码分析
package top.chenxi.test;
/**
* Created with IntelliJ IDEA.
*
* @Author: chenxiky
* @Date: 2022/06/03/13:36
* @Description: try finally执行顺序
*/
public class FinallyTest {
public static void main(String[] args) {
System.out.println(chechReturn());
}
public static int chechReturn() {
int i = 0;
try {
return ++i;
} finally {
return ++i;
}
}
}
执行结果如下:
2
先执行了try代码块,再执行finally代码块,最终返回结果