src/share/classes/java/lang/Throwable.java
Print this page
*** 451,463 ****
* been called on this throwable.
* @since 1.4
*/
public synchronized Throwable initCause(Throwable cause) {
if (this.cause != this)
! throw new IllegalStateException("Can't overwrite cause");
if (cause == this)
! throw new IllegalArgumentException("Self-causation not permitted");
this.cause = cause;
return this;
}
/**
--- 451,464 ----
* been called on this throwable.
* @since 1.4
*/
public synchronized Throwable initCause(Throwable cause) {
if (this.cause != this)
! throw new IllegalStateException("Can't overwrite cause with " +
! Objects.toString(cause, "a null"), this);
if (cause == this)
! throw new IllegalArgumentException("Self-causation not permitted", this);
this.cause = cause;
return this;
}
/**
*** 1037,1047 ****
* @throws NullPointerException if {@code exception} is {@code null}
* @since 1.7
*/
public final synchronized void addSuppressed(Throwable exception) {
if (exception == this)
! throw new IllegalArgumentException(SELF_SUPPRESSION_MESSAGE);
if (exception == null)
throw new NullPointerException(NULL_CAUSE_MESSAGE);
if (suppressedExceptions == null) // Suppressed exceptions not recorded
--- 1038,1048 ----
* @throws NullPointerException if {@code exception} is {@code null}
* @since 1.7
*/
public final synchronized void addSuppressed(Throwable exception) {
if (exception == this)
! throw new IllegalArgumentException(SELF_SUPPRESSION_MESSAGE, exception);
if (exception == null)
throw new NullPointerException(NULL_CAUSE_MESSAGE);
if (suppressedExceptions == null) // Suppressed exceptions not recorded