RFR: 8304929: MethodTypeDesc throws an unchecked exception than ReflectiveOperationException when a component class cannot be resolved

Chen Liang liach at openjdk.org
Fri Jul 5 14:22:57 UTC 2024


On Fri, 5 Jul 2024 13:44:06 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> @JornVernee Here are a few traces for comparison: https://gist.github.com/5d441ab2159833e808303d1accb66ee8
>> 
>> In all cases, the entire stacktrace is retained; this ClassNotFoundException has the `MethodTypeDescImpl::resolveConstantDesc` in its trace already.
>> 
>> I believe directly unwrapping the `ClassNotFoundException` is the best:
>> 1. In future optimization, we can parse the individual classes more directly (such as via `ClassDesc.resolveConstantDesc`) and the new code can just throw the CNFE directly without extra wrapping, as user don't anticipate wrapped causes.
>> 2. `IllegalAccessException` throwing is done directly.
>> 
>> Also, would you mind to review the associated CSR as well?
>
> Sorry, I've been out sick. Reviewed it now

Hope you get better soon!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19991#discussion_r1666867671


More information about the core-libs-dev mailing list