java.lang.ArrayStoreException是一个未经检查的 异常 ,当我们尝试存储的类型的对象不同的类型的对象的数组它可以发生。通常,会遇到 java.lang.ArrayStoreException:java.lang.Integer,它是在尝试将整数存储在不同类型的数组(例如String数组或float数组等)中时发生的。
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是尝试存储其他类型数组的对象的类型。
我们可以使用 try和catch块来处理ArrayStoreException 。
用try和catch块将可以引发ArrayStoreException的语句括 起来。
我们可以捕获 ArrayStoreException。
对我们的程序采取必要的操作,因为我们正在处理异常,并且执行不会中止。
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块之后出现的语句。