Java 实例 - Finally的用法

Java 实例 Java 实例

Java Finally用法一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行

以下实例演示了如何使用 finally 通过 e.getMessage() 来捕获异常(非法参数异常):

ExceptionDemo2.java 文件

public class Main {
    public static void main(String[] argv) {
        new Main().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).
都已执行完毕

Java 实例 Java 实例