- 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

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

Commit messages:
 - Replace `ExceptionBox.rethrowUnchecked()` with `throw 
ExceptionBox.toUnchecked()`; remove ExceptionBox.rethrowUnchecked().
 - ExceptionBox: add toUnchecked() and use it in all Throwing<Name> classes 
instead of ExceptionBox.rethrowUnchecked(). This change results in 100% 
coverage for these classes in the unit tests. Add unit tests. Add 
ExceptionBox.reachedUnreachable().
 - Throwing<NAME>: make these classes generic; don't catch Throwable-s, catch 
Exception-s instead and let Error-s out.

Changes: https://git.openjdk.org/jdk/pull/28731/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28731&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8373631
  Stats: 713 lines in 52 files changed: 476 ins; 27 del; 210 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

Reply via email to