A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JSK-CSY 中级黑马   /  2016-12-9 23:52  /  535 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

###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内存空间,直接发生错误。
                                }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马