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

Alexey Semenyuk asemenyuk at openjdk.org
Fri Dec 12 23:56:09 UTC 2025


On Wed, 10 Dec 2025 01:33:36 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:

> - 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

@sashamatveev PTAL

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

PR Comment: https://git.openjdk.org/jdk/pull/28731#issuecomment-3648540321


More information about the core-libs-dev mailing list