-
java代码异常处理(Java Platform Standard Edition):
Throwable 异常的父类
|-- Error 错误 严重错误,不可避免 不可处理
|--Exception 异常 可以处理
异常分为两种:
RuntimeEception(运行时异常): 未检查异常 可以避免 可以处理可不处理
非RuntimeEception(已检查异常): 已检查异常 不可避免 处理异常(必须处理)
2.异常特点:
沿着方法调用连,反向传递。
3.异常的产生:
throw 异常对象 抛出一个异常。
4.异常的处理:
捕获异常 try-catch 多个catch 先catch 子类异常,在catch父类异常。
print Stack Trace():打印异常栈追踪信息。
try-catch-finally finally: 无论任何情况下都会执行,通常用作释放资源。
try-finally :一般用来执行 finally中的代码段。
三者优先级: finally > try | catch
方法覆盖: 子类方法不能抛出一个父类方法没有抛出的异常。
子类方法抛出异常必须事父类方法抛出的异常, 保证了系统的稳定性。同类,子类 可不抛
例如 :
代码如下:
class A {
public void method() throws IOException {
}
}
class B extends A {
@Override
public void method() throws SQLException {
}
} // 是错误的
class C extends A {
@Override
public void method() throws FilerException {
}
} // 正确 √