NullPointerExceptions descriptives
La JVM indique automatiquement exactement quelle variable était null.
Comparaison de Code
✕ Java 8
// Old NPE message: // "NullPointerException" // at MyApp.main(MyApp.java:42) // Which variable was null?!
✓ Java 14+
// Modern NPE message: // Cannot invoke "String.length()" // because "user.address().city()" // is null // Exact variable identified!
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Variable exacte
Le message nomme la variable null dans la chaîne.
Débogage plus rapide
Plus besoin de deviner lequel des 5 appels enchaînés était null.
Mise à niveau gratuite
Sans changements de code — il suffit d'exécuter sur JDK 14+.
Ancienne Approche
NPE cryptique
Approche Moderne
NPE détaillée
Depuis JDK
14
Difficulté
Débutant
Support JDK
NullPointerExceptions descriptives
Disponible
Disponible depuis JDK 14 (mars 2020)
Comment ça fonctionne
Les NPE descriptives indiquent quelle expression était null et quelle opération a échoué. Cela est activé par défaut depuis Java 14 — aucun changement de code n'est nécessaire, il suffit de mettre à jour le JDK.
Documentation Associée