运行时异常
如果一个方法内部抛出了一个运行时异常,那么方法上可以声明也可以不声明,调用者可以处理也可以不处理。
编译时异常
如果一个方法内部抛出了一个编译时异常对象,那么方法上就必须要声明,而且调用者也必须要处理
运行时异常:RuntimeException以及RuntimeException子类都是属于运行时异常。
编译时异常:除了运行时异常就是编译异常
疑问
运行时异常都是可以通过程序良好的编程习惯去避免,所以java编译器就没有严格要求处理运行时异常
finally块
finally块的使用前提是必须要存在try块才能使用。
finally块的代码在任何情况下都会执行的,除了jvm退出的情况。
finally非常适合做资源释放的工作,这样子可以保证资源文件在任何情况下都会被释放。