public final class CompositeException extends RuntimeException
CompositeException does not modify the structure of any exception it wraps, but at print-time it iterates through the list of Throwables contained in the composit in order to print them all. Its invariant is to contain an immutable, ordered (by insertion order), unique list of non-composite exceptions. You can retrieve individual exceptions in this list with
getExceptions(). The
printStackTrace() implementation handles the StackTrace in a customized way instead of using
getCause() so that it can avoid circular references. If you invoke
getCause(), it will lazily create the causal chain but will stop if it finds any Throwable in the chain that it has already seen.
| Constructor and Description |
|---|
CompositeException(Collection
|
CompositeException(String
|
| Modifier and Type | Method and Description |
|---|---|
Throwable |
getCause()
|
List |
getExceptions()
Retrieves the list of exceptions that make up the
CompositeException
|
String |
getMessage()
|
void |
printStackTrace()
|
void |
printStackTrace(PrintStream
|
void |
printStackTrace(PrintWriter
|
addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, setStackTrace, toStringpublic CompositeException(StringmessagePrefix, Collection <? extends Throwable > errors)
public CompositeException(Collection<? extends Throwable > errors)
public List<Throwable > getExceptions()
CompositeException
public StringgetMessage()
public ThrowablegetCause()
public void printStackTrace()
printStackTrace functionality is derived from JDK
Throwable
printStackTrace. In particular, the
PrintStreamOrWriter abstraction is copied wholesale. Changes from the official JDK implementation:
PrintStream lockList that this loops throughpublic void printStackTrace(PrintStreams)
public void printStackTrace(PrintWriters)