Java中的异常分类

Java中的异常分类

 

Java中的异常类,包括内置的异常类以及自定义的异常类,都直接或者间接地继承至java.lang.Throwable类。

 

1.       两个主要分支:

java.lang包中,我们可以看到Throwable类有两个直接子类:Error类和Exception类,如图所示:

 

 

 

 

 

 图 1. java异常类型层次   

 

        Error类及其子类描述了java运行时系统的内部错误和资源耗尽错误。出现这样的错误的,除了通知用户,并接尽力使程序安全地终止之外,没有更好的办法。

 

        Exception类的层次结构又分为两个分支:一个分支由RuntimeException派生,另外一个分支包含除RuntimeException类之外的异常类。

 

 

 

 

2.      未检查的异常(unchecked exception)和已检查的异常(checked exception)

 

未检查的异常:派生至Error类和RuntimeException类的所有异常类(图中红色所示)

已检查的异常:除未检查的异常类之外的异常类 (图中黄色所示)

 

Java的编译器检查代码中所有的已检查的异常类是否都提供了异常处理程序,如果没有的话,将报错;代码中不需要显示的声明未检查的异常,因为这些异常要么Error,代表java运行时系统的内部错误;要么是RuntimeException,这种错误是由程序员引起的错误,完全可以修正代码解决。

 

你可能感兴趣的:(编程)