On Fri, 16 Aug 2024 18:25:19 GMT, Kevin Driver <kdri...@openjdk.org> wrote:

>> src/java.base/share/classes/com/sun/crypto/provider/HkdfKeyDerivation.java 
>> line 144:
>> 
>>> 142:                 salt = consolidateKeyMaterial(salts);
>>> 143:             } catch (InvalidKeyException ike) {
>>> 144:                 throw (InvalidAlgorithmParameterException) new 
>>> InvalidAlgorithmParameterException(
>> 
>> Why are you using `initCause()` here when there is a 
>> [constructor](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/InvalidAlgorithmParameterException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable))
>>  is available and the following catch uses the `NSAE` version of the 
>> constructor?
>> This isn't the only usage of `initCause()`
>
> I believe these are left over from when the exception type was different and 
> such a constructor was not available for the previous type. I think this 
> qualifies as a nit, since the resultant behavior is equivalent. I'll leave 
> as-is, since we have debated this exception type previously, and it is 
> possible that it may change again in the preview cycle.

@driverkt It'd make sense to add a TODO comment to make sure it isn't 
forgotten? But in adding such a comment, one might already make the change to 
avoid initCause and the cast.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1745730580

Reply via email to