Package org.apache.tomcat.util

## Class MultiThrowable

- java.lang.Object
- - java.lang.Throwable
  - - org.apache.tomcat.util.MultiThrowable

All Implemented Interfaces:
  `Serializable`

    public class MultiThrowable
    extends Throwable

Wraps a list of throwables as a single throwable. This is intended to be used when multiple actions are taken where each may throw an exception but all actions are taken before any errors are reported.

This class is NOT threadsafe.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`MultiThrowable()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add​(Throwable t)` Add a throwable to the list of wrapped throwables.
`Throwable` `getThrowable()`
`List<Throwable>` `getThrowables()`
`int` `size()`
`String` `toString()` Overrides the default implementation to provide a concatenation of the messages associated with each of the wrapped throwables.

### Methods inherited from class java.lang.Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### MultiThrowable

    public MultiThrowable()

### Method Detail

#### add

    public void add​(Throwable t)

Add a throwable to the list of wrapped throwables.

Parameters:
  `t` - The throwable to add

#### getThrowables

    public List<Throwable> getThrowables()

Returns:
  A read-only list of the wrapped throwables.

#### getThrowable

    public Throwable getThrowable()

Returns:
  `null` if there are no wrapped throwables, the Throwable if there is a single wrapped throwable or the current instance of there are multiple wrapped throwables

#### size

    public int size()

Returns:
  The number of throwables currently wrapped by this instance.

#### toString

    public String toString()

Overrides the default implementation to provide a concatenation of the messages associated with each of the wrapped throwables. Note that the format of the returned String is not guaranteed to be fixed and may change in a future release.

Overrides:
  `toString` in class `Throwable`