简单示例
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跳过
- 通常做一些错误恢复操作,如:关闭网络连接,关闭文件读写。
继承中的异常
- 子类重写父类抛出异常的方法时的三种选择:
- 抛出父类方法抛出的异常。
- 抛出父类方法抛出的异常的父类。
- 不抛出异常。
网友评论