Qu'est-ce qu'une exception de pointeur nul en Java
-
Qu’est-ce que
NullPointerException
en Java ? -
Gérer la classe
NullPointerException
en Java -
Gérer la classe
NullPointerException
en Java -
Rencontres avec
NullPointerException
dans les arguments de ligne de commande 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