正确关闭资源的方式
- 使用 finally 块来保证回收,保证关闭操作总是会被执行
- 关闭每个资源之前首先保证引用该资源的引用变量不为 null
- 为每个物理资源单独使用 try .. catch 块关闭资源,保证关闭资源时引发的异常不会影响其他资源的关闭。
finally 块陷阱
- finally 执行顺序,《深度探究Java 中 finally 语句块》。
catch 块用法
- 在 try 块后使用 catch 块来捕获多个异常时,程序应该小心多个 catch 块之间的顺序:捕获父类异常的 catch 块都应该排在捕获子类异常的 catch 块之后(先处理小异常,再处理大异常),否则出现编译错误。
继承得到的异常
- 子类重写父类方法时,不能声明抛出比父类方法类型更多、范围更大的异常。