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

Reply via email to