一、异常
1、异常的分类
Throwable
可以用来表示任何作为异常抛出的类, 分为两种: Error
(错误) 和 Exception
(异常)。
其中Error
用来表示JVM无法处理的错误, 而Exception包含了运行时异常(RuntimeException
,又叫非检查异常)和非运行时异常(又叫检查异常)
-
Error是程序无法处理的,如果出现OutOfMemoryError、StackOverFlowError时,Java虚拟机一般会终止线程
-
运行时异常都是RuntimeException及其子类,如NullPointerException、IndexOutOfBoundsException等,这些异常都是不检查的异常,是在程序运行时可能会发生的,所以程序可以捕获,也可以不捕获,这些错误一般是由程序的逻辑错误引起的,程序应该从逻辑角度去尽量避免
-
检查异常是运行时异常以外的异常,也是Exception及其子类,这些异常从程序的角度来说是必须经过捕获检查处理的,否则不能通过编译,如IOExceptino、SQLException等
2、使用
-
受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过
-
非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。
(一般是由程序的逻辑错误引起的,程序应该从逻辑的角度去尽量避免)
转载:https://blog.csdn.net/whc__/article/details/115801924
查看评论