On Fri, 4 Oct 2024 16:21:56 GMT, Kevin Driver <kdri...@openjdk.org> wrote:
>> src/java.base/share/classes/sun/security/provider/NamedKEM.java line 62: >> >>> 60: this.fname = Objects.requireNonNull(fname); >>> 61: if (pnames == null || pnames.length == 0) { >>> 62: throw new AssertionError("pnames cannot be null or empty"); >> >> Only curious: why `AssertionError` here instead of >> `IllegalArgumentException` or `InvalidParameterException`? > > See also: checking the `spec` parameter in `engineNewEncapsulator`, which > does use `InvalidParameterException`. We only have child classes inside JDK, therefore if the convention is not followed, it's treated as a programming error. In other cases when the input argument are from users we need to be prepared for any invalid input and we treat them as runtime exceptions. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21167#discussion_r1788080720