Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.
This repository was 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

@LanceAndersen

Description

@LanceAndersen

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions