Bug in the record pattern translation / record pattern spec

Alex Buckley alex.buckley at oracle.com
Tue Jun 28 17:54:26 UTC 2022


On 6/28/2022 10:38 AM, Brian Goetz wrote:
>> For the deconstruction pattern, i propose to throw a specific error 
>> and to not wrap the subclasses of java.lang.Error thrown by the 
>> deconstruction pattern.
> 
> The wrapper should not be an Error, but I see what you are getting at -- 
> let Error through, wrap everything else.  This would allow SOE and OOME 
> to manifest as expected -- and rely on the "well, know its a bad idea to 
> try and catch Error, but they are not as good about runtime 
> exceptions."  Worth considering.

And of course this is already the policy for errors during bootstrap 
method invocation:

-----JVMS 5.4.3.6-----
If the invocation fails by throwing an instance of Error or a subclass 
of Error, resolution fails with that exception.

If the invocation fails by throwing an exception that is not an instance 
of Error or a subclass of Error, resolution fails with a 
BootstrapMethodError whose cause is the thrown exception.
----------------------

Alex


More information about the amber-spec-experts mailing list