RFR: 8177418: NPE is not apparent for methods in java.util.TimeZone API docs [v7]

Lance Andersen lancea at openjdk.org
Wed Jan 25 19:20:47 UTC 2023


On Wed, 25 Jan 2023 18:12:10 GMT, Justin Lu <jlu at openjdk.org> wrote:

>> When their input is null, the following methods in java.util.TimeZone throw a NullPointerException:
>> 
>> _TimeZone.getTimeZone(String ID)
>> TimeZone.setID(String ID)
>> TimeZone.inDaylightTime(Date date)_
>> 
>> For example, 
>> 
>> 
>> String someID = null;
>> TimeZone tz1 = TimeZone.getTimeZone(someID);
>> ``` 
>> 
>> throws a `NullPointerException`
>> 
>> 
>> This PR adds the missing  _ at throws:_ for the mentioned methods. The wording and specification is also adjusted for the overridable methods in TZ to use "_may throw_" over "_will throw_" because of the possibility of external sub-classes that may override the method.
>
> Justin Lu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adjust ImplSpec positioning and wording

src/java.base/share/classes/java/util/TimeZone.java line 300:

> 298:      * @param ID the new time zone ID.
> 299:      * @throws NullPointerException This method may throw a
> 300:      * {@code NullPointerException} if {@code ID} is {@code null}

Is this needed given it is covered in the implSpec as it seems redundant

src/java.base/share/classes/java/util/TimeZone.java line 409:

> 407:      * {@code IllegalArgumentException} if {@code style} is invalid.
> 408:      * @throws NullPointerException This method may throw a
> 409:      * {@code NullPointerException} if {@code ID} is {@code null}

Same comment as above

-------------

PR: https://git.openjdk.org/jdk/pull/11888


More information about the core-libs-dev mailing list