Comment gérer l’exception ArrayStoreException en Java

L’exception java.lang.ArrayStoreException est une exception peut se produire lorsque nous essayons de stocker un objet d’un type dans un tableau d’objets d’un type différent. Normalement, on rencontrerait java.lang.ArrayStoreException: java.lang.Double qui se produit lorsqu’une tentative est faite pour stocker un double dans un tableau de type différent comme un tableau de String, un tableau de float, etc.
 
 

Exemple:
public class Exemple {
   public static void main(String[] args) {
      Object[] nbr = new Float[4];
      nbr[1] = new Double(4);
   }
}

 
Sortie:

Exception in thread "main" java.lang.ArrayStoreException: java.lang.Double
	at Exemple.main(Exemple.java:4)

Dans le code ci-dessus, java.lang.ArrayStoreException: java.lang.Double s’est produite:

  • java.lang.ArrayStoreException: exception levée lorsque nous essayons de stocker un objet de type java.lang.Double dans un tableau de type java.lang.Float.
  • java.lang.Double: Double est le type d’objet qu’on veut stocker dans le tableau qui
    a un type différent.

 
 

Comment gérer l’exception ArrayStoreException

Nous pouvons gérer l’exception ArrayStoreException en utilisant des blocs try et catch.

public class Exemple {
   public static void main(String[] args) {
      Object[] nbr = new Float[4];
      try {
         nbr[1] = new Double(4);
      } catch (ArrayStoreException e) {
         e.printStackTrace();
         System.out.println("ArrayStoreException est traité");
      }
      System.out.println("Continuez votre code ici");
   }
}

 
Sortie:

ArrayStoreException est traité
Continuez votre code ici
java.lang.ArrayStoreException: java.lang.Double
	at Exemple.main(Exemple.java:5)