java中针对 try,catch和finally一些总结

参考:

1.https://www.cnblogs.com/lidedong/p/10372958.html

2.https://www.cnblogs.com/tianyublog/p/7874425.html

3.https://www.iteye.com/blog/kingj-1436761

-------------------------------------------------------------------------------

结论

   1、不管有没有异常,finally中的代码都会执行

   2、当try、catch中有return时,finally中的代码依然会继续执行

   3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。

   4、finally代码中最好不要包含return,程序会提前退出,也就是说返回的值不是try或catch中的值

 1 public static int tryCatch(){
 2         int i = 1;
 3         try {
 4             return i;
 5         }finally {
 6             ++i;
 7         }
 8     }
 9 验证结论2.3
10   输出结果1
 1 public static int tryCatch(){
 2         int i = 1;
 3         try {
 4             return i;
 5         }finally {
 6             return ++i;
 7         }
 8     }
 9 验证结论4 
10    输出结果 是2
原文地址:https://www.cnblogs.com/xuewangkai/p/15338312.html