异常处理机制分析(Java)
一、异常的分类、区别、处理、常见举例
1.异常:发生的不被预期的事件,他阻止了程序按照预期的正常执行.
Throwable类是Java异常类型的顶层父类.可派生为Error类、Exception类.
Error(错误)以及其子类:代表JVM本省的错误.错误不能通过代码处理,很少出现.
Exception(异常)以及其子类:程序运行时发送了的各种不期望的事件.可以被Java异常处理机制处理.分为运行时异常(RuntimeException以及其子类)和非运行时异常(编译异常).
2.异常分类
非检查异常(unchecked exception):Error、RuntimeException以及他们的子类.Java代码在编译时不会提示和发现这样的异常,对于这些异常需要修改代码.
例如:NullPointerException(空指针)、ClassCastException(类型转换错误)、IllegalArgumentException(非法参数)、ArrayIndexOutOfBoundsException(数组越界)、ClassNotFoundException(不能加载所需要的类).
检查异常(checked exception):除了Error和RuntimeException以及他们的子类的其他异常.java强制要求为这些异常做预备处理工作(捕获或者抛出).在方法中使用try...catch..finally..捕获并且处理,或者throws抛出,否则代码编译不通过.这种异常一般由程序的运行环境导致的.
例如:SQLException(数据库操作异常)、IOException(I/O异常)、
二、Finally
在 try块中即便有return、break、continue等改变执行流的语句,finally也会执行.