RFR: 8350542: Optional.orElseThrow(Supplier) does not specify behavior when supplier returns null
Roger Riggs
rriggs at openjdk.org
Mon Apr 28 22:01:52 UTC 2025
On Tue, 4 Mar 2025 16:34:19 GMT, simon <duke at openjdk.org> wrote:
> Javadoc for java.util.Optional.orElseThrow(Supplier) misses mentioning of another possible cause of a NullPointerException - when the exception supplying function returns a null result.
> ---------
> ### Progress
> - [ ] Change must be properly reviewed (1 review required, with at least 1 [Reviewer](https://openjdk.org/bylaws#reviewer))
> - [x] Change requires CSR request [JDK-8354953](https://bugs.openjdk.org/browse/JDK-8354953) to be approved
> - [x] Change must not contain extraneous whitespace
> - [x] Commit message must refer to an issue
>
> ### Error
> ⚠️ The pull request body must not be empty.
>
>
>
> ### Reviewing
> <details><summary>Using <code>git</code></summary>
>
> Checkout this PR locally: \
> `$ git fetch https://git.openjdk.org/jdk.git pull/23905/head:pull/23905` \
> `$ git checkout pull/23905`
>
> Update a local copy of the PR: \
> `$ git checkout pull/23905` \
> `$ git pull https://git.openjdk.org/jdk.git pull/23905/head`
>
> </details>
> <details><summary>Using Skara CLI tools</summary>
>
> Checkout this PR locally: \
> `$ git pr checkout 23905`
>
> View PR using the GUI difftool: \
> `$ git pr show -t 23905`
>
> </details>
> <details><summary>Using diff file</summary>
>
> Download this PR as a diff file: \
> <a href="https://git.openjdk.org/jdk/pull/23905.diff">https://git.openjdk.org/jdk/pull/23905.diff</a>
>
> </details>
src/java.base/share/classes/java/util/Optional.java line 397:
> 395: * @throws X if no value is present
> 396: * @throws NullPointerException if no value is present and the exception
> 397: * supplying function or produces a {@code null} result
It seems there is a word missing before the "or".
Suggestion:
* supplying function is {@code null} or produces a {@code null} result
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23905#discussion_r2064856833
More information about the core-libs-dev
mailing list