`

Try/catch/finally的另一种写法

    博客分类:
  • Java
 
阅读更多

从学习Java以来,只是知道try/catch/finally,从来没有想过,如果顺序换了会出现什么结果。
以前的写法都是先catch,最 后再finally。而这里我们是先finally,再catch。
刚开始以为两种执行顺序都是一样的。不过通过代码试之后才发现不一样。
下 面给出另一种写法的测试代码。
        try{
        try {
            int i=0;
            int d = 10/i;
        }finally{
            System.out.println("finally");
        }
        }catch(Exception e){
            System.out.println("catch");
        }
看到上面代码执行 顺序就想到,如果我们要把资源关闭,在资源抛出异常之前就关闭掉,安全性会不会更好呢。这点没有测过。也不知道虽然顺序不一样,但是效果还是一样的。

在 这里发出来,一是想告诉不知道的人知道这种写法,另外一个目的,是想借问一些知道的人,告诉我,这两种写法,存在 什么差别?谢谢

1
1
分享到:
评论
2 楼 lyndon.lin 2010-05-29  
那如何个两码事?
1 楼 mercyblitz 2010-05-29  
嵌套异常,两码事。

相关推荐

Global site tag (gtag.js) - Google Analytics