Class IOExceptionList

All Implemented Interfaces:
Serializable, Iterable<Throwable>

public class IOExceptionList extends IOException implements Iterable<Throwable>
An IOException based on a list of Throwable causes.

The first exception in the list is used as this exception's cause and is accessible with the usual Throwable.getCause() while the complete list is accessible with getCauseList().

Since:
2.7
See Also:
  • Constructor Details

    • IOExceptionList

      public IOExceptionList(List<? extends Throwable> causeList)
      Constructs a new exception caused by a list of exceptions.
      Parameters:
      causeList - a list of cause exceptions.
    • IOExceptionList

      public IOExceptionList(String message, List<? extends Throwable> causeList)
      Constructs a new exception caused by a list of exceptions.
      Parameters:
      message - The detail message, see Throwable.getMessage().
      causeList - a list of cause exceptions.
      Since:
      2.9.0
  • Method Details

    • checkEmpty

      public static void checkEmpty(List<? extends Throwable> causeList, Object message) throws IOExceptionList
      Throws this exception if the list is not null or empty.
      Parameters:
      causeList - The list to test.
      message - The detail message, see Throwable.getMessage().
      Throws:
      IOExceptionList - if the list is not null or empty.
      Since:
      2.12.0
    • getCause

      public <T extends Throwable> T getCause(int index)
      Gets the cause exception at the given index.
      Type Parameters:
      T - type of exception to return.
      Parameters:
      index - index in the cause list.
      Returns:
      The list of causes.
    • getCause

      public <T extends Throwable> T getCause(int index, Class<T> clazz)
      Gets the cause exception at the given index.
      Type Parameters:
      T - type of exception to return.
      Parameters:
      index - index in the cause list.
      clazz - type of exception to return.
      Returns:
      The list of causes.
    • getCauseList

      public <T extends Throwable> List<T> getCauseList()
      Gets the cause list.
      Type Parameters:
      T - type of exception to return.
      Returns:
      The list of causes.
    • getCauseList

      public <T extends Throwable> List<T> getCauseList(Class<T> clazz)
      Works around Throwable and Generics, may fail at runtime depending on the argument value.
      Type Parameters:
      T - type of exception to return.
      Parameters:
      clazz - the target type
      Returns:
      The list of causes.
    • iterator

      Specified by:
      iterator in interface Iterable<Throwable>