Skip to content
This repository has been archived by the owner on Feb 5, 2019. It is now read-only.

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

Open
LanceAndersen opened this issue Apr 27, 2018 · 0 comments

Comments

@LanceAndersen
Copy link

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant