码迷,mamicode.com
首页 > 编程语言 > 详细

Java 数组索引异常的产生过程解析

时间:2020-01-16 23:35:43      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:mic   创建   逻辑   cat   java程序   color   try   ret   main方法   

通过索引查询数组值

public class DemoArrayException {
    public static void main(String[] args) {
        int[] array = {0, 1, 2, 3};

        int element = DemoArrayException.getElement(array, 4);
    }

    public static int getElement(int[] array, int index) {
        return array[index];
    }
}

很容易知道,数组array的元素个数是4个,不过索引值是从0开始的,所以最大索引是3。

其中,getElement方法是获取数组指定索引位置的值的。

运行程序,抛出错误

ArrayIndexOutOfBoundsException: 4

技术图片

 

 

 

开始分析

技术图片

 

  1.  这里通过getElement()方法,访问了array数组的4索引,这个时候,JVM就会检测到程序中出现异常。JVM检测出异常,它就会根据异常产生的原因,创建一个异常对象ArrayIndexOutOfBoundsException("4"),这个异常对象包含了内容、原因、位置。接着,JVM就会访问getElement方法,发现该方法中没有处理逻辑(try...catch),这时候,JVM就会把异常对象ArrayIndexOutOfBoundsException("4")抛出给方法的调用者main方法来处理这个异常。

  2. main方法接收到JVM抛出的异常对象ArrayIndexOutOfBoundsException("4"),而main方法也没有处理逻辑(try...catch),于是继续把对象抛出给main方法的调用者JVM处理。

  3. JVM接收到main方法抛回来的异常对象后,会把异常对象的内容、原因、位置以红色字体打印在控制台。然后JVM会终止当前正在执行的Java程序。

Java 数组索引异常的产生过程解析

标签:mic   创建   逻辑   cat   java程序   color   try   ret   main方法   

原文地址:https://www.cnblogs.com/liyihua/p/12203533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!