JDK-8020981: Update methods of java.lang.reflect.Parameter to throw correct exceptions

Eric McCorkle eric.mccorkle at oracle.com
Wed Sep 25 13:41:36 UTC 2013


The enhanced metadata spec says nothing at all about an IAE.  That is an
implementation detail, possibly subject to change at any point, and it
*should* not be leaked.

On 09/24/13 17:28, Paul Benedict wrote:
> Eric,
> 
> Should MalformedParametersException save IAE as the root cause? Or is that
> an internal detail you don't want leaked?
> 
>> Webrev updated to address these issues.
>>
>> On 09/24/13 07:51, Joel Borggren-Franck wrote:
>>
>>> 364             try {
>>> 365                 tmp = getParameters0();
>>> 366             } catch(IllegalArgumentException e) {
>>> 367                 // Rethrow ClassFormatErrors
>>> 368                 throw new MalformedParametersException("Invalid
> constant pool index");
>>> 369             }
>>>
>>> What is causing the IAE? Have you considered having
>>> MalformedParametersExcepton taking a Throwable cause and having the IAE
>>> as cause?
>>>
>>
>> The IAE comes from hotspot itself.  There is a standard constant pool
>> index verifying function that throws IAE if given a bad index.
> 
> Cheers,
> Paul
> 


More information about the core-libs-dev mailing list