★10.异常

简单示例

class MyException extends Exception {
    MyException(String msg) {
        super(msg);
    }
}

public class A {
    private static void fun() throws MyException {
        throw new MyException("MyException in fun()");
    }

    public static void main(String args[]) {
        try {
            fun();
        } catch (MyException e) {
            e.printStackTrace(System.out);
        }
    }
}

finally

简单示例

try {
    fun();
} catch (MyException e) {
    e.printStackTrace(System.out);
}
finally {
    System.out.println("finally");
}

说明

  • 无论是否抛出异常都会执行finally。
  • 不会被break、continue和return跳过
  • 通常做一些错误恢复操作,如:关闭网络连接,关闭文件读写。

继承中的异常

  • 子类重写父类抛出异常的方法时的三种选择:
    • 抛出父类方法抛出的异常。
    • 抛出父类方法抛出的异常的父类。
    • 不抛出异常。

你可能感兴趣的:(★10.异常)