throwable
是java异常的顶级父类。
throwable派生出error类和exception类
error类
错误,是error类或其子类的实例,错误是jvm本身的错误。很少出现,无法通过程序员解决。
exception类
异常,是运行期间各种不被期望发生的事件,可以被异常处理机制使用处理。
exception类分为两类
检查异常和非检查异常
非检查异常
runtimeexception类的子类。
在编译时,不会发现和处理的异常,这些一般建议是修改代码而不是异常处理机制处理。
除0错误ArithmeticException,
错误的强制类型转换错误ClassCastException,
数组索引越界ArrayIndexOutOfBoundsException,
使用了空对象NullPointerException
检查异常
除了 runtimeexception类以外的。
检查异常要强制做预处理。
一般是因为运行环境导致的。
SQLException , sql异常
IOException,io异常
ClassNotFoundException 类找不到异常
filenotfoundexception 文件找不到异常
线程中断异常(InterrupException)
积极处理方式
try…catch…finally语句块
消极处理方式
throw 语句必须写在函数中。
throws是在方法上声明这个异常,意思就是这个方法有可能会引发异常。
如果是检查异常,方法上一定要 去声明,如果是非检查异常,可以声明,可以不声明。