java中finally关键字的用处

来源:互联网 发布:网络直播行业研究报告 编辑:程序博客网 时间:2024/05/16 05:38
在java中的finally关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行,写个例子来说明下:
package com.teedry.base;public class TryAndFinallyTest {public static void main(String[] args) throws Exception{try{int a = testFinally(2);System.out.println("异常返回的结果a:"+a);}catch(Exception e){int b = testFinally(1);System.out.println("正常返回的结果b:"+b);}int b = testFinally(3);System.out.println("break返回的结果:"+b); b = testFinally(4);System.out.println("return返回的结果:"+b);}static int testFinally(int i) throws Exception{int flag = i;try{//一旦进去try范围无论程序是抛出异常或其它中断情况,finally的内容都会被执行switch(i){case 1:++i;break;//程序 正常结束case 2:throw new Exception("测试下异常情况");case 3:break;default :return -1;}}finally{System.out.println("finally coming when i="+flag);}return i;}}

执行结果如下:

finally coming when i=2
finally coming when i=1
正常返回的结果b:2
finally coming when i=3
break返回的结果:3
finally coming when i=4
return返回的结果:-1

 

结果说明无论上述什么情况,finally块总会被执行。