黑马程序员技术交流社区

标题: 异常的继续体系和错误的区别 [打印本页]

作者: JSK-CSY    时间: 2016-12-9 23:52
标题: 异常的继续体系和错误的区别
###02异常的继续体系和错误的区别
        * A: 异常的继承体系
                Throwable: 它是所有错误与异常的超类(祖宗类)
                        |- Error 错误
                        |- Exception 编译期异常,进行编译JAVA程序时出现的问题
                                |- RuntimeException 运行期异常, JAVA程序运行过程中出现的问题
        * B:异常与错误的区别
                * a:异常
                        * 指程序在编译、运行期间发生了某种异常(XxxException),我们可以对异常进行具体的处理。
                        * 若不处理异常,程序将会结束运行。
                        * 案例演示:
                                public static void main(String[] args) {
                                        int[] arr = new int[3];
                                        System.out.println(arr[0]);
                                        System.out.println(arr[3]);
                                        // 该句运行时发生了数组索引越界异常ArrayIndexOutOfBoundsException,
                                        // 由于没有处理异常,导致程序无法继续执行,程序结束。
                                        System.out.println("over"); // 由于上面代码发生了异常,此句代码不会执行
                                }
                               
                * b:错误
                        * 指程序在运行期间发生了某种错误(XxxError),Error错误通常没有具体的处理方式,程序将会结束运行。
                        * Error错误的发生往往都是系统级别的问题,都是jvm所在系统发生的,并反馈给jvm的。
                        * 我们无法针对处理,只能修正代码。
                        * 案例演示:
                                public static void main(String[] args) {
                                        int[] arr = new int[1024*1024*100];
                                        //该句运行时发生了内存溢出错误OutOfMemoryError,开辟了过大的数组空间,
                                        //导致JVM在分配数组空间时超出了JVM内存空间,直接发生错误。
                                }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2