Java ArraystoreException

Java ArraystoreException

Java中的ArrayStoreException是在试图将错误类型的对象存储到一个对象数组中时发生的。ArrayStoreException是一个扩展了RuntimeException的类,这意味着它是一个在运行时抛出的异常。

类的层次结构。

java.lang.Object
↳ java.lang.Throwable
    ↳ java.lang.Exception
        ↳ java.lang.RuntimeException
            ↳ java.lang.ArrayStoreException 
Java

ArrayStoreException的构造函数。

  1. ArrayStoreException(): 构建一个没有详细消息的ArrayStoreException实例。
  2. ArrayStoreException(String s): 构建一个有指定信息s的ArrayStoreException实例。

何时发生ArrayStoreException

Java中的ArrayStoreException在试图将错误类型的对象存储到对象数组中时发生。

下面的例子说明了何时会发生ArrayStoreException。

由于Number类是Double类的一个超类,在Java中,人们可以将子类的对象存储到超类的对象中。现在,如果试图将一个整数值存储在Double类型的数组中,在执行过程中会抛出一个运行时错误。如果数组的声明是这样的,同样的事情就不会发生。

public class GFG {
  
    public static void main(String args[])
    {
  
        // Since Double class extends Number class
        // only Double type numbers
        // can be stored in this array
        Number[] a = new Double[2];
  
        // Trying to store an integer value
        // in this Double type array
        a[0] = new Integer(4);
    }
}
Java

运行时异常:

Exception in thread main java.lang.ArrayStoreException: java.lang.Integer   
at GFG.main(GFG.java:13) 
Bash

如何处理ArrayStoreException?

我们可以使用Java中的try-catch块来处理ArrayStoreException。

下面的例子说明了如何处理ArrayStoreException。

public class GFG {
  
    public static void main(String args[])
    {
  
        // use try-catch block
        // to handle ArrayStoreException
        try {
  
            Object a[] = new Double[2];
  
            // This will throw ArrayStoreException
            a[0] = 4;
        }
  
        catch (ArrayStoreException e) {
  
            // When caught, print the ArrayStoreException
            System.out.println("ArrayStoreException found: "
                               + e);
        }
    }
}
Java

输出:

ArrayStoreException found: java.lang.ArrayStoreException: java.lang.Integer 
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册