NullPointerExceptions descriptivas
La JVM indica automáticamente exactamente qué variable era null.
Comparación de Código
✕ 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!
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Variable exacta
El mensaje nombra la variable null en la cadena.
Depuración más rápida
No más adivinanzas sobre cuál de 5 llamadas encadenadas era null.
Actualización gratuita
Sin cambios de código — solo ejecutar en JDK 14+.
Enfoque Antiguo
NPE críptica
Enfoque Moderno
NPE detallada
Desde JDK
14
Dificultad
Principiante
Soporte JDK
NullPointerExceptions descriptivas
Disponible
Ampliamente disponible desde JDK 14 (marzo de 2020)
Cómo funciona
Las NPE descriptivas indican qué expresión era null y qué operación falló. Esto está habilitado por defecto desde Java 14 — no se necesita cambiar el código, solo actualizar el JDK.
Documentación Relacionada