JAVA异常

在Java中Throwable是所有错误或异常的父类,Throwable又可分为Error和Exception,Exception又可分为RuntimeException(运行时异常)和CheckedException(检查异常),如图所示
JAVA异常_第1张图片Error
Error指Java程序运行错误。出现Error通常是因为系统的内部错误或资源耗尽。Error不能在运行中被动态处理。如果程序出现Error,则系统能做的工作也只能是通知用户,并尽力使程序安全终止,除此之外再也无能外力了。
常见的Error有:StackOverFlowError、OutOfMemoryError
Exception
Exception指Java程序运行异常,可以被Java异常处理机制处理。Exception也是程序开发中异常处理的核心。

RuntimeException:是指再Java虚拟机正常运行期间抛出的异常,常见的运行时异常包括错误的类型转换(ClassCastExcetion),数组访问越界(ArrayIndexOutOfBundsException),访问null指针(NullPinterException)

CheckedException :Java编译器在编译阶段会检查CheckedException异常,并强制程序捕获和处理此类异常,即要求程序再可能出现异常的地方通过try catch语句块捕获并处理异常。常见的CheckedException有由于I/O错误导致的IOException、SQLException、ClassNotFoundException等。该类异常一般由于打开错误的文件、SQL语法错误、类不存在等引起。

注意:一个方法必须声明所有可能抛出的受查异常,如果方法没有声明所有可能发生的受查异常,编译器就会法出一个错误信息。
编译器严格地执行throws说明符。如果调用了一个抛出异常的方法,就必须对它进行处理,或者继续传递。
非受查异常要么不可控制(Error),要么就应该避免发生(RuntimeException)。之所以没提到对RuntimeException的异常处理,是因为虽然异常处理机制同样适用于运行时异常,但这个异常是由程序错误导致的,如果我们能提前预料到,那我们就可以修改代码避免它的发生了;如果不能预料到,就无法确定抛出什么异常,如何捕获处理。

你可能感兴趣的:(Java异常,java,开发语言)