异常类的层次结构


异常类的层次结构
 

                                               
                                             部分异常类层次结构
     Throwable类是所有异常的超类,定义在java.lang包中,其子类也在该包中。只有Throwable对象才可用于异常处理机制。Throwable类包含两个子类:Exception和Error。Exception类及其子类代表java程序中可能发生的异常状况,并且应用程序可以捕获这些异常;Error类及其子类代表java运行时系统中可能发生的异常状况,由系统直接处理,但通常应用程序不会捕获这些异常。
     由程序错误导致的异常属于RuntimeException,是由于程序员自身逻辑错误而发生的错误,比如 空指针异常、数组越界等。这类错误是不需要用try catch来捕获异常的,而其他两种异常,则需要要在catch程序块来捕获异常或者在throws子句中声明的异常。