solucion org jasperexception jasper java exception nullpointerexception numberformatexception

java - org - ¿Por qué Double.parseDouble(null) y Integer.parseInt(null) arrojan diferentes excepciones?



java.lang.numberformatexception: null solucion (2)

Es razonable esperar las mismas excepciones para nulo; sin embargo, estas api son muy antiguas y es posible que no se puedan cambiar en este punto.

Y:

Dado que el comportamiento de excepción es de larga data y se especifica en JavaDoc, no es práctico cambiar el comportamiento de ninguno de los métodos en este momento. Cerrando como no se arregla.

Según lo tomado de: Informe de errores: Integer.parseInt () y Double.parseDouble () arrojan diferentes excepciones en null.

Al igual que otros han declarado: Es probable que lo hagan diferentes autores.

¿Por qué Double.parseDouble (null) y Integer.parseInt (null) arrojan diferentes excepciones?

¿Es esto un accidente histórico o intencional? La documentación establece claramente dos tipos de excepciones para Double.parseDouble(...) y una para Integer.parseInt() , pero parece inconsistente:

Integer.parseInt(null); // throws java.lang.NumberFormatException: null

sin embargo

Double.parseDouble(null); // throws java.lang.NullPointerException


Nota: todo en esta publicación está en la fuente de Java7-b147

Double.parseDouble() va a una biblioteca de Sun (en sun.misc.FloatingDecimal ) lo primero que sucede es:

in = in.trim(); // don''t fool around with white space. // throws NullPointerException if null

Integer.parseInt() se realiza manualmente en la clase Integer . Lo primero que sucede es:

if (s == null) { throw new NumberFormatException("null"); }

Supongo que hay dos autores diferentes.