Code review request for 8012044: Give more information about self-suppression from Throwable.addSuppressed

Jason Mehrens jason_mehrens at hotmail.com
Mon Apr 15 12:04:59 UTC 2013


David,

The last two paragraphs of Throwable.addSuppressed cover this.  The first is your argument bellow and does not forbid anything it claims.  The last paragraph explicitly enables this patch.

Jason

> Date: Mon, 15 Apr 2013 12:56:42 +1000
> From: david.holmes at oracle.com
> To: joe.darcy at oracle.com
> CC: jason_mehrens at hotmail.com; core-libs-dev at openjdk.java.net
> Subject: Re: Code review request for 8012044: Give more information about self-suppression from Throwable.addSuppressed
> 
> On 13/04/2013 5:08 AM, Joe Darcy wrote:
> > On 04/12/2013 11:22 AM, Jason Mehrens wrote:
> >> The landmines are the retrofitted exception classes as shown here
> >> https://netbeans.org/bugzilla/show_bug.cgi?id=150969 and
> >> https://issues.jboss.org/browse/JBREM-552. Really, if the ISE or IAE
> >> is thrown it is going to suppress 'this' and 'cause'. It would be
> >> nice to see the given 'cause' show up in a log file when tracking down
> >> this type of bug.
> >
> > Okay; fair enough. Updated webrev covering initCause too at
> >
> > http://cr.openjdk.java.net/~darcy/8012044.1/
> >
> > New patch below.
> >
> > (It is a bit of stretch to have this in initiCause by listed as the
> > "cause" of the IllegalStateException; as an alternative, the
> > IllegalStateException could have both this and the cause as suppressed
> > exceptions.)
> 
> I don't think that is valid for initCause. If I call initCause twice in 
> succession there need not even be any exception propagation in progress. 
> The ISE that gets thrown is not suppressing anything.
> 
> For setSuppressed this might make sense for the compiler generated 
> sequences, but again if I just called setSuppressed with an invalid 
> value, the ISE is not suppressing any existing exception.
> 
> David 		 	   		  


More information about the core-libs-dev mailing list