java 中java.lang.IndexOutOfBoundsException一般是什么异常呢

   更新日期:2024.05.21

该异常通常是指数组下标越界异常。

例如:一个ArrayList数组中没有元素,而你想获取第一个元素,运行是就会报此类型的错误。

案例如下:

扩展资料:

java中还有其他几种常见异常

1、java.lang.NullPointerException

该异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。

2、java.lang.ClassNotFoundException

该异常的解释是“指定的类不存在”,这里主要考虑一下类的名称和路径是否正确即可,如果是在eclipse等开发工具下做的程序包,一般都是默认加上Package的,所以转到WTK下后要注意把Package的路径加上。

3、java.lang.ArithmeticException

该异常的解释是“数学运算异常”,比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,要检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥。

4、java.lang.ArrayIndexOutOfBoundsException

该异常的解释是“数组下标越界”,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围。

5、java.lang.IllegalArgumentException

该异常的解释是“方法的参数错误”,很多J2ME的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常。

6、java.sql.SQLException 

该异常的解释是“Sql语句执行异常”,由数据库管理系统抛出至服务器,应检查sql语句是否书写正确等。

参考资料:jdk9官方文档-Exception类



该异常为:索引越界,使用非法索引访问数组。 索引为负数或大于或等于数组的大小。

Java官方API文档中对该异常的描述为:Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array。

一般情况下,当调用数组索引超出这个数组或列表的长度时,就会报该错误,该错误属于非运行类异常,属于可检测异常。代码示例如下:

import java.util.ArrayList;

public class App {

public static void main(String[] args) {

ArrayList<String> s = new ArrayList<>();

s.add(0, "test0");

s.add(1, "test1");

s.add(2, "test2");

System.out.println(s.get(3));

} }

解决方案:

import java.util.ArrayList;

public class App {

public static void main(String[] args) {

ArrayList<String> s = new ArrayList<>();

s.add(0, "test0");

s.add(1, "test1");

s.add(2, "test2");

int index = 3;

if (index < s.size()) {

System.out.println(s.get(index));

} else {

System.out.println("索引越界");

} } }


扩展资料:

1、Java运行类异常:

Java运行异常类对应于编译错误,它是指Java程序在运行时产生的由解释器引发的各种异常。运行异常可能出现在任何地方,且出现频率很高,因此为了避免巨大的系统资源开销,编译器不对异常进行检查。所以Java语言中的运行异常不一定被捕获。出现运行错误往往表示代码有错误,如:算数异常(如被0除)、下标异常(如数组越界)等。

2、Java非运行类异常:

非运行异常时Non_RuntimeException类及其子类的实例,又称为可检测异常。Java编译器利用分析方法或构造方法中可能产生的结果来检测Java程序中是否含有检测异常的处理程序,对于每个可能的可检测异常,方法或构造方法的throws子句必须列出该异常对应的类。在Java的标准包java.lang java.util 和 java.net 中定义的异常都是非运行异常。

参考资料来源:Java官网-Exception-ArrayIndexOutOfBoundsException



索引超出边界异常,就好比你定义了一个
List<String>list=new ArrayList<String>();

list.add("123");
list.add("456");
你的list里面只有2个,但是你取值的时候写了
System.out.println(list.get(3));就会报错。
--------不是很确定报的是不是这个错,但是意思是差不多的(数组也会出现这样的情况)---------

数组或者集合下标越界了

索引超出范围了

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网