如何在Java中处理ArrayStoreException(未选中)?

 java.lang.ArrayStoreException是一个未经检查的 异常 ,当我们尝试存储的类型的对象不同的类型的对象的数组它可以发生。通常,会遇到 java.lang.ArrayStoreException:java.lang.Integer,它是在尝试将整数存储在不同类型的数组(例如String数组或float数组等)中时发生的。

例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和catch块来处理ArrayStoreException 。

  • 用try和catch块将可以引发ArrayStoreException的语句括 起来。

  • 我们可以捕获 ArrayStoreException。

  • 对我们的程序采取必要的操作,因为我们正在处理异常,并且执行不会中止。

例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块之后出现的语句。

以上是 如何在Java中处理ArrayStoreException(未选中)? 的全部内容, 来源链接: utcz.com/z/343493.html

回到顶部