Java异常分类

Java异常分类_第1张图片
image.png

–>Throwable是Java语言中所有错误或异常的超类。下一层分为Error和Exception

–>Error类是指Java运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。

–>Exception又有两个分支,
一个是运行时异常RuntimeException,如:NullPointerException、ClassCastException;
一个是检查异常CheckedException,如I/O错误导致的IOException、SQLException。

–>RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。派生RuntimeException的异常一般包含几个方面:
1、错误的类型转换
2、数组访问越界
3、访问空指针
如果出现RuntimeException,那么一定是程序员的错误

–>检查异常CheckedException一般是外部错误,这种异常都发生在编译阶段,Java编译器会强制程序去捕获此类异常,即会出现要求你把这段可能出现异常的程序进行try catch,该类异常一般包括几个方面:
1、试图在文件尾部读取数据
2、试图打开一个错误格式的URL
3、试图根据给定的字符串查找class对象,而这个字符串表示的类并不存在

RuntimeException:在定义方法时不需要声明会抛出RuntimeException, 在调用这个方法时不需要捕获这个RuntimeException;总之,未检查异常不需要try…catch…或throws 机制去处理
CheckedException:定义方法时必须声明所有可能会抛出的exception; 在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去
总之,一个方法必须声明所有的可能抛出的受检异常;未检查异常要么不可控制(Error),要么应该避免(RuntimeException)。如果方法没有声明所有的可能发生的受检异常,编译器就会给出错误信息

五种常见的运行时异常

NullPointerException
ArrayIndexOutOfBoundsException
ClassCastException
ClassNotFoundException
IndexOutOfBoundsException
NumberFormatException
IllegalArgumentException
ArithmeticException

你可能感兴趣的:(Java异常分类)