一、finally
在抛出异常结构里,finally主要放关闭流和释放资源的代码,不放业务代码,尤其是return一个结果。
二、抛出注意事项
1、当方法上使用throws的时候,是提醒调用者该方法会抛出哪些异常。
2、RuntimeException异常及其任何子类都无需在throws中声明。
3、在覆写方法的时候,子类的异常必须是父类异常的子类或者相等(只针对非RuntimeException的异常)
非RuntimeException异常的错误写法:
class A{
public void print(){//除非后面加上throws IOExcetpion或者IOExcetpion的父类
}
}
class B extends A{
public void print() throws IOException{
}
}
RuntimeException异常的正确写法与继承无关:
class A{
public void print() {
}
}
class B extends A{
public void print() throws RuntimeException{//包括其任何子类NullPointerException、ArithmeticException等等
}
}