org.apache.cassandra.utils

## Class Throwables

- java.lang.Object
- - org.apache.cassandra.utils.Throwables

    public final class Throwables
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static interface` `Throwables.DiscreteAction<E extends java.lang.Exception>`
`static class` `Throwables.FileOpType`

### Constructor Summary

Constructors
Constructor and Description
`Throwables()`

### Method Summary

All Methods Static Methods Concrete Methods
`static java.lang.Throwable` `close(java.lang.Throwable accumulate, java.lang.Iterable<? extends java.lang.AutoCloseable> closeables)`
`static java.util.Optional<java.io.IOException>` `extractIOExceptionCause(java.lang.Throwable t)`
`static <T extends java.lang.Throwable> boolean` `failIfCanCast(java.lang.Throwable fail, java.lang.Class<T> checked)`
`static void` `maybeFail(java.lang.Throwable fail)`
`static <T extends java.lang.Throwable> void` `maybeFail(java.lang.Throwable fail, java.lang.Class<T> checked)`
`static <T extends java.lang.Throwable> T` `merge(T existingFail, T newFail)`
`static void` `perform(java.io.File against, Throwables.FileOpType opType, Throwables.DiscreteAction<? extends java.io.IOException>... actions)`
`static <E extends java.lang.Exception> void` `perform(java.util.stream.Stream<? extends Throwables.DiscreteAction<? extends E>> stream, Throwables.DiscreteAction<? extends E>... extra)`
`static <E extends java.lang.Exception> void` `perform(java.util.stream.Stream<Throwables.DiscreteAction<? extends E>> actions)`
`static void` `perform(java.lang.String filePath, Throwables.FileOpType opType, Throwables.DiscreteAction<? extends java.io.IOException>... actions)`
`static java.lang.Throwable` `perform(java.lang.Throwable accumulate, java.util.Iterator<? extends Throwables.DiscreteAction<?>> actions)`
`static <E extends java.lang.Exception> void` `perform(Throwables.DiscreteAction<? extends E>... actions)`
`static java.lang.Throwable` `perform(java.lang.Throwable accumulate, java.util.stream.Stream<? extends Throwables.DiscreteAction<?>> actions)`
`static java.lang.Throwable` `perform(java.lang.Throwable accumulate, java.lang.String filePath, Throwables.FileOpType opType, java.util.stream.Stream<Throwables.DiscreteAction<? extends java.io.IOException>> actions)`
`static java.lang.Throwable` `perform(java.lang.Throwable accumulate, java.lang.String filePath, Throwables.FileOpType opType, Throwables.DiscreteAction<? extends java.io.IOException>... actions)`
`static java.lang.Throwable` `perform(java.lang.Throwable accumulate, Throwables.DiscreteAction<?>... actions)`

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

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

### Constructor Detail

#### Throwables

    public Throwables()

### Method Detail

#### merge

    public static <T extends java.lang.Throwable> T merge(T existingFail,
                                                          T newFail)

#### maybeFail

    public static void maybeFail(java.lang.Throwable fail)

#### maybeFail

    public static <T extends java.lang.Throwable> void maybeFail(java.lang.Throwable fail,
                                                                 java.lang.Class<T> checked)
                                                          throws T extends java.lang.Throwable

Throws:
  `T extends java.lang.Throwable`

#### failIfCanCast

    public static <T extends java.lang.Throwable> boolean failIfCanCast(java.lang.Throwable fail,
                                                                        java.lang.Class<T> checked)
                                                                 throws T extends java.lang.Throwable

Throws:
  `T extends java.lang.Throwable`

#### perform

    @SafeVarargs
    public static <E extends java.lang.Exception> void perform(Throwables.DiscreteAction<? extends E>... actions)
                                                                     throws E extends java.lang.Exception

Throws:
  `E extends java.lang.Exception`

#### perform

    public static <E extends java.lang.Exception> void perform(java.util.stream.Stream<? extends Throwables.DiscreteAction<? extends E>> stream,
                                                               Throwables.DiscreteAction<? extends E>... extra)
                                                        throws E extends java.lang.Exception

Throws:
  `E extends java.lang.Exception`

#### perform

    public static <E extends java.lang.Exception> void perform(java.util.stream.Stream<Throwables.DiscreteAction<? extends E>> actions)
                                                        throws E extends java.lang.Exception

Throws:
  `E extends java.lang.Exception`

#### perform

    public static java.lang.Throwable perform(java.lang.Throwable accumulate,
                                              Throwables.DiscreteAction<?>... actions)

#### perform

    public static java.lang.Throwable perform(java.lang.Throwable accumulate,
                                              java.util.stream.Stream<? extends Throwables.DiscreteAction<?>> actions)

#### perform

    public static java.lang.Throwable perform(java.lang.Throwable accumulate,
                                              java.util.Iterator<? extends Throwables.DiscreteAction<?>> actions)

#### perform

    @SafeVarargs
    public static void perform(java.io.File against,
                                            Throwables.FileOpType opType,
                                            Throwables.DiscreteAction<? extends java.io.IOException>... actions)

#### perform

    @SafeVarargs
    public static void perform(java.lang.String filePath,
                                            Throwables.FileOpType opType,
                                            Throwables.DiscreteAction<? extends java.io.IOException>... actions)

#### perform

    @SafeVarargs
    public static java.lang.Throwable perform(java.lang.Throwable accumulate,
                                                           java.lang.String filePath,
                                                           Throwables.FileOpType opType,
                                                           Throwables.DiscreteAction<? extends java.io.IOException>... actions)

#### perform

    public static java.lang.Throwable perform(java.lang.Throwable accumulate,
                                              java.lang.String filePath,
                                              Throwables.FileOpType opType,
                                              java.util.stream.Stream<Throwables.DiscreteAction<? extends java.io.IOException>> actions)

#### close

    public static java.lang.Throwable close(java.lang.Throwable accumulate,
                                            java.lang.Iterable<? extends java.lang.AutoCloseable> closeables)

#### extractIOExceptionCause

    public static java.util.Optional<java.io.IOException> extractIOExceptionCause(java.lang.Throwable t)