开发者社区> 问答> 正文

Finally的用法

Finally的用法

展开
收起
珍宝珠 2020-02-13 17:27:54 1891 0
2 条回答
写回答
取消 提交回答
  • 下一站是幸福

    Finally不同于try..catch,无论try catch是否被执行,它都会被执行

    2020-03-14 23:01:57
    赞同 展开评论 打赏
  • Java 中的 Finally 关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行 。

    public class ExceptionDemo2 {
       public static void main(String[] argv) {
          new ExceptionDemo2().doTheWork();
       }
       public void doTheWork() {
          Object o = null;
          for (int i=0; i<5; i++) {
             try {
                o = makeObj(i);
             }
             catch (IllegalArgumentException e) {
                System.err.println
                ("Error: ("+ e.getMessage()+").");
                return;   
             }
             finally {
                System.err.println("都已执行完毕");
                if (o==null)
                System.exit(0);
            }
            System.out.println(o); 
          }
       }
       public Object makeObj(int type) 
       throws IllegalArgumentException {
          if (type == 1)  
          throw new IllegalArgumentException
          ("不是指定的类型: " + type);
          return new Object();
       }
    }
    
    

    以上代码运行输出结果为:

    都已执行完毕
    java.lang.Object@7852e922
    Error: (不是指定的类型:1).
    都已执行完毕
    
    2020-02-13 17:29:15
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载