Qu'est-ce qu'une exception de pointeur nul en Java

Mohammad Irfan 12 octobre 2023
  1. Qu’est-ce que NullPointerException en Java ?
  2. Gérer la classe NullPointerException en Java
  3. Gérer la classe NullPointerException en Java
  4. Rencontres avec NullPointerException dans les arguments de ligne de commande en Java
Qu'est-ce qu'une exception de pointeur nul en Java

Ce didacticiel présente l’exception de pointeur null Java et comment vous pouvez la gérer. Nous avons inclus quelques exemples de programmes à suivre.

En Java, la valeur par défaut de toute variable de référence est une valeur nulle qui pointe vers un emplacement mémoire mais n’a aucune valeur associée. Lorsqu’un programmeur essaie d’effectuer une opération avec cette variable de référence, il lève une exception de pointeur nul en raison de conditions nulles.

Il s’agit d’un scénario où cette exception peut se produire, mais cette exception est la plus fréquente en Java, ce qui casse le code et conduit à des flux d’exécution anormaux. Les points suivants peuvent lever NullPointerException dans un code Java :

  • Appel de la méthode d’instance d’un objet nul.
  • Modification du champ d’un objet nul.
  • Traiter la longueur de null comme s’il s’agissait d’un tableau.

Pour gérer cette exception, Java fournit une classe NullPointerException située dans le package java.lang. Nous pouvons utiliser cette classe dans le bloc catch pour spécifier le type d’exception, puis l’intercepter pour éviter les ruptures de code.

Qu’est-ce que NullPointerException en Java ?

L’exemple le plus basique pour comprendre la classe NullPointerException est de créer un objet string puis d’appliquer une méthode comme toUpperCase() pour convertir la chaîne en majuscules. Regardez l’exemple ci-dessous et notez qu’il lève une exception car l’objet string est vide :

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    String newStr = str.toUpperCase();
    System.out.println(newStr);
  }
}

Production:

Exception in thread "main" java.lang.NullPointerException

Gérer la classe NullPointerException en Java

Pour gérer les exceptions, Java fournit un bloc try-catch. Ici, nous pouvons utiliser ces blocs pour intercepter NullPointerException et éviter une terminaison anormale du programme. Vérifiez l’exemple ci-dessous :

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    try {
      String newStr = str.toUpperCase();
      System.out.println(newStr);
    } catch (NullPointerException e) {
      System.out.println("Null Pointer: " + e.getMessage());
    }
  }
}

Production:

{One=1, Two=2, Three=3}

Gérer la classe NullPointerException en Java

Si vous connaissez déjà la référence null, vous pouvez utiliser un bloc if-else pour valider d’abord la variable avant d’appliquer toute opération. Cette méthode est une excellente solution, mais elle ne fonctionne que si vous connaissez la référence nulle auparavant. Voir le code ici :

public class SimpleTesting {
  static String str;
  public static void main(String[] args) {
    if (str != null) {
      String newStr = str.toUpperCase();
      System.out.println(newStr);
    } else
      System.out.println("String is null");
  }
}

Production:

String is null

Rencontres avec NullPointerException dans les arguments de ligne de commande en Java

Il s’agit d’un autre scénario dans lequel une exception de pointeur null peut se produire. Le tableau args[] de la méthode main() contient des arguments de ligne de commande, et si pendant l’exécution aucun argument n’est fourni, cela pointe vers une référence nulle. Obtenir sa longueur renverra NullPointerException. Voir l’exemple ci-dessous :

public class SimpleTesting {
  static String[] arr;
  public static void main(String[] args) {
    int length = arr.length;
    System.out.println("Array length : " + length);
  }
}

Production:

Exception in thread "main" java.lang.NullPointerException

Article connexe - Java Exception