如何处理 Java 中的 ArrayStoreException(未检查)?\
javaobject oriented programmingprogramming
java.lang.ArrayStoreException 是一种 未检查异常,当我们尝试将某种类型的对象存储在不同类型的对象数组中时,就会发生这种情况。通常,当尝试将整数存储在不同类型的数组(如字符串数组或浮点数组等)中时,就会遇到 java.lang.ArrayStoreException: java.lang.Integer。
示例 1
public class ArrayStoreExceptionTest { public static void main(String[] args) { Object[] names = new Float[2]; names[1] = new Integer(2); } }
输出
Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:4)
在上面的程序中,发生了 java.lang.ArrayStoreException: java.lang.Integer
- java.lang.ArrayStoreException:当我们尝试将java.lang.Integer对象存储在 java.lang.Float数组中时,java语言抛出的异常。
- java.lang.Integer:Integer是尝试存储不同类型的数组的对象类型。
如何处理ArrayStoreException
我们可以使用 try and catch块来处理ArrayStoreException 。
- 将可能抛出的语句括起来ArrayStoreException带有try and catch块。
- 我们可以CatchArrayStoreException。
- 对我们的程序采取必要的措施,因为我们正在处理异常,并且执行不会中止。
示例2
public class ArrayStoreExceptionTest { public static void main(String[] args) { Object[] names = new Float[2]; try { names[1] = new Integer(2); } catch (ArrayStoreException e) { e.printStackTrace(); System.out.println("ArrayStoreException is handled"); } System.out.println("Continuing with the statements after try and catch blocks"); } }
输出
ArrayStoreException is handled Continuing with the statements after try and catch blocks java.lang.ArrayStoreException: java.lang.Integer at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:5)
在上面的例子中,当发生异常时,执行从发生异常的点开始,转到 catch 块。它执行 catch 块中的语句,并继续执行 try 和 catch 块之后的语句。