RFR: 8373631: Improve classes in the "jdk.jpackage.internal.util.function" package [v5]

Alexey Semenyuk asemenyuk at openjdk.org
Tue Dec 16 16:31:18 UTC 2025


> - Add exception type as an additional generic parameter to all `Throwing...` interfaces
> - Add unit tests for "jdk.jpackage.internal.util.function" package
> - Add `ExceptionBox.toUnchecked()`. It is equivalent to `ExceptionBox.rethrowUnchecked()`, but doesn't throw
> - Replace `ExceptionBox.rethrowUnchecked(...)` with `ExceptionBox.toUnchecked(...)`; this increased test coverage of "jdk.jpackage.internal.util.function" package from 86% to 97%
> - Change exception handling in `ExceptionBox.toUnchecked()` (former `ExceptionBox.rethrowUnchecked()`):
>   -  `InterruptedException`: instead of rethrowing an exception of this type, it calls `Thread.currentThread().interrupt()` and then rethrows it
>  - Add `ExceptionBox.unbox()` (former `TKit.unbox()`). It is complementary to `ExceptionBox.toUnchecked()`
>  - Catch `Exception` instead of `Throwable` where appropriate to avoid catching `Error`-s. The idea is not to handle fatal errors
>  - Replace vague `throws Throwable` exception specifications with more specific ones where appropriate
>  - Add `ExceptionBox.reachedUnreachable()` for use in locations that control flow is not expected to reach
> 
> Supplementary changes:
>  - Take advantage of the updated `Throwing...` interfaces in the `Result` class.
>  - Add unit tests for the `Result` class and fix uncovered minor issues.

Alexey Semenyuk has updated the pull request incrementally with one additional commit since the last revision:

  Fix whitespaces

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28731/files
  - new: https://git.openjdk.org/jdk/pull/28731/files/d791b771..2c807850

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28731&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28731&range=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/28731.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28731/head:pull/28731

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


More information about the core-libs-dev mailing list