Quel est le résultat du code Java suivant ?
int[] array = {1, 2, 3};
System.out.println(array[3]);

Comprendre l'erreur ArrayIndexOutOfBoundsException en Java

L'erreur ArrayIndexOutOfBoundsException en Java est lancée lorsqu'on tente d'accéder à un index d'un tableau qui n'existe pas. Dans le cas de la question, cette exception est générée car on tente d'accéder à array[3], alors que le tableau array ne contient que trois éléments, indexés respectivement à 0, 1 et 2.

Il est important de comprendre que, en Java, les indices de tableau commencent à 0. Par conséquent, même un tableau contenant trois éléments n'a pas d'élément à l'index 3. L'accès à cet index générera une ArrayIndexOutOfBoundsException, indiquant que vous avez dépassé la limite du tableau.

Voici un exemple illustratif:

public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3};
        try {
            System.out.println(array[3]);
        } catch (ArrayIndexOutOfBoundsException ex) {
            System.out.println("Attention! Vous tentez d'accéder à un index non existant.");
        }
    }
}

Dans ce code, nous avons ajouté une structure try/catch pour gérer l'exception ArrayIndexOutOfBoundsException. Si vous exécutez ce code, au lieu d'arrêter l'exécution du programme avec une erreur, il affichera un message d'avertissement : "Attention! Vous tentez d'accéder à un index non existant."

Bonnes pratiques

Concernant les meilleures pratiques, il est recommandé de vérifier toujours la longueur du tableau avec la propriété .length avant d'essayer d'y accéder. De plus, le traitement des exceptions avec try/catch peut être très utile pour gérer les erreurs inattendues et garantir que votre programme ne se bloquera pas lors de l'exécution.

public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3};
        int indexToAccess = 3;
        if(indexToAccess < array.length){
            System.out.println(array[indexToAccess]);
        } else {
            System.out.println("Pas d'élément à cet index.");
        }
    }
}

En suivant ces meilleures pratiques, vous pouvez éviter les exceptions ArrayIndexOutOfBoundsException et rendre votre code Java plus robuste et fiable.

Trouvez-vous cela utile?