java的finally用法

finally是用于try-catch语句中,用于关闭资源,所以不论是否抛出异常都会执行finally语句块中的代码。而且即使try语句块中或者catch语句块中执行了return,最后还是会调用finally的语句块。
接下来我们来试验一下:

代码:
public class TestFinally {

    public static void main(String[] args) {
        System.out.println(test(null)+","+test("2")+","+test(""));
    }

    public static int test(String s){
        try{
            String[] ss = s.split(",");
            return 1;
        }catch (NullPointerException e){
            return 2;
        }catch (Exception e){
            return 3;
        }finally {
            return 4;
        }
    }
}

最后执行结果为:4,4,4
验证了上面的说法。

发布了6 篇原创文章 · 获赞 3 · 访问量 6075

猜你喜欢

转载自blog.csdn.net/Today_1st/article/details/81504572