Code review request for 8012044: Give more information about self-suppression from Throwable.addSuppressed
Jason Mehrens
jason_mehrens at hotmail.com
Fri Apr 12 12:45:52 UTC 2013
Joe, Should this same logic be applied to the exceptions thrown from initCause? Seems like that would be consistent with this change. Jason
> Date: Thu, 11 Apr 2013 18:19:30 -0700
> From: joe.darcy at oracle.com
> To: core-libs-dev at openjdk.java.net
> Subject: Code review request for 8012044: Give more information about self-suppression from Throwable.addSuppressed
>
> Hello,
>
> Please review the patch below to address
>
> 8012044: Give more information about self-suppression from
> Throwable.addSuppressed
> http://cr.openjdk.java.net/~darcy/8012044.0/
>
> Thanks,
>
> -Joe
>
> diff -r 006a7a576fe9 src/share/classes/java/lang/Throwable.java
> --- a/src/share/classes/java/lang/Throwable.java Thu Apr 11 12:22:23
> 2013 +0900
> +++ b/src/share/classes/java/lang/Throwable.java Thu Apr 11 18:16:38
> 2013 -0700
> @@ -1039,7 +1039,7 @@
> */
> public final synchronized void addSuppressed(Throwable exception) {
> if (exception == this)
> - throw new IllegalArgumentException(SELF_SUPPRESSION_MESSAGE);
> + throw new
> IllegalArgumentException(SELF_SUPPRESSION_MESSAGE, exception);
>
> if (exception == null)
> throw new NullPointerException(NULL_CAUSE_MESSAGE);
> diff -r 006a7a576fe9 test/java/lang/Throwable/SuppressedExceptions.java
> --- a/test/java/lang/Throwable/SuppressedExceptions.java Thu Apr 11
> 12:22:23 2013 +0900
> +++ b/test/java/lang/Throwable/SuppressedExceptions.java Thu Apr 11
> 18:16:38 2013 -0700
> @@ -26,7 +26,7 @@
>
> /*
> * @test
> - * @bug 6911258 6962571 6963622 6991528 7005628
> + * @bug 6911258 6962571 6963622 6991528 7005628 8012044
> * @summary Basic tests of suppressed exceptions
> * @author Joseph D. Darcy
> */
> @@ -48,7 +48,9 @@
> throwable.addSuppressed(throwable);
> throw new RuntimeException("IllegalArgumentException for
> self-suppresion not thrown.");
> } catch (IllegalArgumentException iae) {
> - ; // Expected
> + // Expected to be here
> + if (iae.getCause() != throwable)
> + throw new RuntimeException("Bad cause after
> self-suppresion.");
> }
> }
>
>
> -Joe
More information about the core-libs-dev
mailing list