1.千万不要用reutrn,break,continue或throw来退出finally语句块,并且千万不要允许让受检查的异常传播到finally语句块之外。
2.如果一个catch子句要捕获一个类型为E的受检查异常,而其相对应的try子句不能抛出E的某种子类型的异常,那么这就是一个编译期错误。但是捕获Exception或Throwable的catch子句是合法的,不管与其相对应的try子句的内容为何。
3.一个方法可以抛出的受检查异常集合是它所适用的所有类型声明要抛出的受检查异常集合的交集,而不是合集。
4.对于任何在finally语句块中可能抛出的受检查异常都要进行处理,而不是任其传播。特别是close方法时。