java 异常

Throwable包含了错误(Error)和异常(Excetion两类) Exception又包含了运行时异常,和非运行时异常。

java有俩种异常类型:受检查异常和运行时异常((RuntimeException, 又叫非检查异常 )

受检查异常:

这些异常从程序的角度来说是必须经过捕捉处理的,否则编译通不过,比如IOException,SQLException。

不受检查异常:

可分为Error和运行时异常,Error是程序无法处理的如OutOfMemoryError,如果出现Error,java虚拟机会终止线程。

运行时异常,如RunTimeException,IndexOutOfBoundsException,NullPointerException,这些异常一般是由程序的逻辑错误引起的,解决此类异常应该仔细排查程序,不需要进行检查。

两者的区别

1.非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。

2.受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。

原文地址:https://www.cnblogs.com/jingpeng77/p/13735400.html