异常:java程序出现了不正常的情况
Throwable
--Error 表示严重的错误,一般情况,我们自己无法去处理,那就不处理
--Exception
--RuntimeException 表示运行时期异常,这样的异常一般是由代码逻辑不够严谨导致的,也可以按照编译时期异常的处理方式去处理
--除了RuntimeException以外的异常叫做编译时期异常,编译时期异常,一定要做处理,如果不做处理,编译无法通过,不能运行。
处理异常的方案:
1、try...catch...finally
处理一个异常
处理多个异常(JDK1.7的新特性)
2、throws
在方法上抛出异常的类名,可以一次性抛出多个异常,异常之间用逗号分割,表示一种可能性,可能会发生异常
将异常抛给调用者处理,调用者推荐使用try...catch处理,如果调用者继续抛出,一旦发生错误,后续的代码不会执行。
throw:在方法的内部抛出,表示一定会发生某种异常,throw后面跟的是异常的对象,只能跟一个。一般情况下,throw用在自定义异常中比较多。
final,finally,finalize的区别:
final: 最终的意思,可以修饰类,成员变量,成员方法
修饰类:类不能被继承
修饰成员变量:变量变常量
修饰成员方法:方法不能被重写
finally: 是属于处理异常try...catch..finally的一部分,一般是用于释放资源,正常情况下,都会执行,
除非在执行finally之前,程序停止。
finalize: 是Object类中一个方法,是用于垃圾回收的,堆内存中的空间没有栈的引用指向它,但是什么时候回收我们不确定。‘