答案:使用try-catch捕获IndexOutOfBoundsException可防止程序崩溃,如访问数组索引10时抛出异常并输出“索引越界了”;也可捕获其子类如StringIndexOutOfBoundsException;更推荐预先检查索引是否在有效范围内以避免异常。

在Java中,IndexOutOfBoundsException 是一种常见的运行时异常,通常发生在访问数组、List 或其他集合类时使用了非法的索引值。比如访问一个长度为5的数组时,使用了索引5或更大(有效索引是0到4),就会触发这个异常。
要捕获 IndexOutOfBoundsException,你可以使用 try-catch 语句块来处理可能出错的代码段。
使用 try-catch 捕获异常
以下是一个基本示例,演示如何安全地访问数组元素并捕获越界异常:
public class ExceptionExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
try {
System.out.println(numbers[10]); // 非法索引
} catch (IndexOutOfBoundsException e) {
System.out.println("索引越界了:" + e.getMessage());
}
}
}
程序不会崩溃,而是输出你定义的提示信息。
立即学习“Java免费学习笔记(深入)”;
由于疫情等原因大家都开始习惯了通过互联网上租车服务的信息多方面,且获取方式简便,不管是婚庆用车、旅游租车、还是短租等租车业务。越来越多租车企业都开始主动把租车业务推向给潜在需求客户,所以如何设计一个租车网站,以便在同行中脱颖而出就重要了,易优cms针对租车行业市场需求、目标客户、盈利模式等,进行策划、设计、制作,建设一个符合用户与搜索引擎需求的租车网站源码。 网站首页
捕获更具体的子类异常
IndexOutOfBoundsException 有两个常见子类:ArrayIndexOutOfBoundsException 和 StringIndexOutOfBoundsException。你可以根据需要捕获更具体的异常类型。
try {
String str = "Hello";
System.out.println(str.charAt(10));
} catch (StringIndexOutOfBoundsException e) {
System.out.println("字符串索引越界");
}
预防比捕获更重要
虽然可以捕获异常,但更好的做法是在访问前进行边界检查,避免异常发生。
- 访问数组前,检查索引是否满足:index >= 0 && index
- 操作 List 时,使用 list.size() 判断边界
- 遍历集合优先使用增强for循环或迭代器,减少手动索引操作
例如:
if (index >= 0 && index < numbers.length) {
System.out.println(numbers[index]);
} else {
System.out.println("索引无效");
}
基本上就这些。合理使用 try-catch 可以提升程序健壮性,但主动预防才是更优雅的写法。









