Journal Enfin des NullPointerException plus explicites en Java

Posté par  . Licence CC By‑SA.
Étiquettes :
16
30
sept.
2019

Comme il était énoncé dans la fin de la dépêche sur OpenJDK 13. La prochaine version du langage le plus utilisé du monde®, les NullPointerExceptions seront plus détaillées afin d’aider le développeur à trouver où ses doigts ont fourché.
Les détails sont à lire dans la JEP 358 dont j’ai extrait deux exemples :

For example, an NPE from the assignment statement a.i = 99; would generate this message:

Exception in thread "main" java.lang.NullPointerException:
Cannot assign field 'i' because 'a' is null.
at Prog.main(Prog.java:5)

If the more complex statement a.b.c.i = 99; throws an NPE, the message would dissect the statement and pinpoint the cause by showing the full access path which led up to the null:

Exception in thread "main" java.lang.NullPointerException:
Cannot read field 'c' because 'a.b' is null.
at Prog.main(Prog.java:5)

Le bémol c’est que Java 14 ne sera pas une LTS, la prochaine est la 17 il me semble. Ce n’est donc pas demain la veille que la plupart des développeurs profiteront de cette évolution.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.