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 >