Open In App

ArrayStoreException in Java

Last Updated : 10 Oct, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

ArrayStoreException in Java occurs whenever an attempt is made to store the wrong type of object into an array of objects. The ArrayStoreException is a class which extends RuntimeException, which means that it is an exception thrown at the runtime.

Class Hierarchy:

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

Constructors of ArrayStoreException:

  1. ArrayStoreException(): Constructs an ArrayStoreException instance with no detail message.
  2. ArrayStoreException(String s): Constructs an ArrayStoreException instance with the specified message s.
  • When does ArrayStoreException occurs?

    ArrayStoreException in Java occurs whenever an attempt is made to store the wrong type of object into an array of objects.

    Below example illustrates when does ArrayStoreException occur:

    Since Number class is a superclass of Double class, and one can store an object of subclass in super class object in Java. Now If an integer value is tried to be stored in Double type array, it throws a runtime error during execution. The same thing wouldn’t happen if the array declaration would be like:




    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);
        }
    }

    
    

    Runtime Exception:

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

  • How to handle with ArrayStoreException?

    One can use try-catch block in Java to handle ArrayStoreException.

    Below example illustrates how to handle 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);
            }
        }
    }

    
    

    Output:

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads