On Wed, 15 Nov 2023 20:46:27 GMT, Weijun Wang <wei...@openjdk.org> wrote:

>> src/java.base/share/classes/java/security/MessageDigest.java line 436:
>> 
>>> 434:      *         {@code MessageDigestSpi} implementation for the
>>> 435:      *         specified algorithm and parameters
>>> 436:      *
>> 
>> Is there a reason why you didn't throw IAPE when params are bad?
>
> This is following the `SecureRandom` style where there are both `getInstance` 
> methods that has or has not the parameters argument. If you think IAPE is 
> better I can also throw it. `CertStore` does this way and it has a dedicated 
> method to extract the cause of the NSAE thrown by `GetInstance.getInstance` 
> and rethrow it. See 
> https://github.com/openjdk/jdk/blob/9486969bd3cb084c89a7255de0c664c980d1e661/src/java.base/share/classes/java/security/cert/CertStore.java#L249

Hmm, interesting. I have a slight preference for the `CertStore` approach 
because it feels like the caller can more easily distinguish between the two 
cases but I could probably live with either. What do you prefer?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16660#discussion_r1394903586

Reply via email to