public final class Exceptions extends Object
| Modifier and Type | Method and Description |
|---|---|
static void |
addCause(Throwable
Adds a
Throwable to a causality-chain of Throwables, as an additional cause (if it does not already appear in the chain among the causes).
|
static Throwable |
getFinalCause(Throwable
Get the
Throwable at the end of the causality-chain for a particular
Throwable
|
static RuntimeException |
propagate(Throwable
Convenience method to throw a
RuntimeException and
Error directly or wrap any other exception type into a
RuntimeException.
|
static void |
throwIfAny(List
Throws a single or multiple exceptions contained in the collection, wrapping it into
CompositeException if necessary.
|
static void |
throwIfFatal(Throwable
Throws a particular
Throwable only if it belongs to a set of "fatal" error varieties.
|
static void |
throwOrReport(Throwable
Forwards a fatal exception or reports it to the given Observer.
|
static void |
throwOrReport(Throwable
Forwards a fatal exception or reports it along with the value caused it to the given Observer.
|
public static RuntimeExceptionpropagate(Throwable t)
RuntimeException and
Error directly or wrap any other exception type into a
RuntimeException.
t - the exception to throw directly or wrapped
propagate itself throws an exception or error, this is a sort of phantom return value;
propagate does not actually return anything
public static void throwIfFatal(Throwablet)
Throwable only if it belongs to a set of "fatal" error varieties. These varieties are as follows:
OnErrorNotImplementedExceptionOnErrorFailedExceptionStackOverflowErrorVirtualMachineErrorThreadDeathLinkageErroronError methods, but only if the errors are not so catastrophic that such a call would be futile, in which case you simply want to rethrow the error.
t - the
Throwable to test and perhaps throw
public static void addCause(Throwablee, Throwable cause)
Throwable to a causality-chain of Throwables, as an additional cause (if it does not already appear in the chain among the causes).
e - the
Throwable at the head of the causality chain
cause - the
Throwable you want to add as a cause of the chain
public static ThrowablegetFinalCause(Throwable e)
Throwable at the end of the causality-chain for a particular
Throwable
e - the
Throwable whose final cause you are curious about
Throwable in the causality-chain of
e (or a "Stack too deep to get final cause"
RuntimeException if the chain is too long to traverse)
public static void throwIfAny(List<? extends Throwable > exceptions)
CompositeException if necessary.
exceptions - the collection of exceptions. If null or empty, no exception is thrown. If the collection contains a single exception, that exception is either thrown as-is or wrapped into a CompositeException. Multiple exceptions are wrapped into a CompositeException.
@Experimental public static void throwOrReport(Throwablet, Observer <?> o, Object value)
t - the exception
o - the observer to report to
value - the value that caused the exception
@Experimental public static void throwOrReport(Throwablet, Observer <?> o)
t - the exception
o - the observer to report to