jaxb-api icon indicating copy to clipboard operation
jaxb-api copied to clipboard

Documented exception thrown is incorrect for javax.xml.bind.DatatypeConverter#print(Object) methods

Open Tomas-Kraus opened this issue 6 years ago • 1 comments

Previously tracked via: https://bugs.openjdk.java.net/browse/JDK-8152531

A DESCRIPTION OF THE PROBLEM : The documentation for the javax.xml.bind.DatatypeConverter#print(Object) methods (such as printDate, printDateTime and printDecimal) state an IllegalArgumentException is thrown if the input parameter is null. In fact, a NullPointerException is thrown as shown in the Junit sample below:

@Test 
public void testJDate() { 

    this.exception.expect(IllegalArgumentException.class); 
    javax.xml.bind.DatatypeConverter.printDecimal(null); 

} 

java.lang.AssertionError: Expected: an instance of java.lang.IllegalArgumentException but: <java.lang.NullPointerException> is a java.lang.NullPointerException Stacktrace was: java.lang.NullPointerException at javax.xml.bind.DatatypeConverterImpl._printDecimal(DatatypeConverterImpl.java:546) at javax.xml.bind.DatatypeConverterImpl.printDecimal(DatatypeConverterImpl.java:542) at javax.xml.bind.DatatypeConverter.printDecimal(DatatypeConverter.java:514) ...

Of course, if it really SHOULD be an IllegalArgumentException, someone might want to open a jre bug report.

There is minimal impact as it is now unclear what should be thrown by a custom converter method.

URL OF FAULTY DOCUMENTATION : http://docs.oracle.com/javase/8/docs/api/javax/xml/bind/DatatypeConverter.html

Tomas-Kraus avatar Apr 27 '18 22:04 Tomas-Kraus

  • Issue Imported From: https://github.com/javaee/jaxb-v2/issues/1195
  • Original Issue Raised By:@LanceAndersen
  • Original Issue Assigned To: Unassigned

Tomas-Kraus avatar Sep 21 '18 17:09 Tomas-Kraus