Java异常的分类

  首先政治正确,引用一张图:

      

    详细的内容参见深入理解Java异常处理机制

 

    我的理解和分类:

          可查异常  非运行时异常

                        Exception

    Throwable       

                运行时异常

          不可查异常

                Error

 

    Throwable:可查异常、不可查异常;

    Exception:运行时异常、非运行时异常

    不可查异常:运行时异常、Error

    

    可查异常是编译器可以检查的,运行前必须处理的异常,比如IOException、SQLException,此类异常需要try-catch捕获或者throws字句抛出;

    不可查异常是编译器检查不出,比如除数为0、数组下标越界、空指针,栈溢出、内存溢出,编译器无能为力的;

    运行时异常是RuntimeException,比如除数为0、数组下标越界、空指针,这类需要在运行时才能够出现;

    非运行时异常是程序运行前必须处理的,否则程序无法编译通过的异常;

    

    异常出现次序:非运行时异常(编译期)-->运行时异常(运行时)-->Error(运行时JVM问题)

posted @ 2017-03-27 19:42  小新不吃青椒  阅读(203)  评论(0编辑  收藏  举报