public final class Exceptions
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static void |
addCause(java.lang.Throwable e,
java.lang.Throwable cause)
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 java.lang.Throwable |
getFinalCause(java.lang.Throwable e)
Get the
Throwable at the end of the causality-chain for a particular Throwable |
static java.lang.RuntimeException |
propagate(java.lang.Throwable t)
Convenience method to throw a
RuntimeException and Error directly
or wrap any other exception type into a RuntimeException . |
static void |
throwIfAny(java.util.List<? extends java.lang.Throwable> exceptions)
Throws a single or multiple exceptions contained in the collection, wrapping it into
CompositeException if necessary. |
static void |
throwIfFatal(java.lang.Throwable t)
Throws a particular
Throwable only if it belongs to a set of "fatal" error varieties. |
static void |
throwOrReport(java.lang.Throwable t,
Observer<?> o)
Forwards a fatal exception or reports it to the given Observer.
|
static void |
throwOrReport(java.lang.Throwable t,
Observer<?> o,
java.lang.Object value)
Forwards a fatal exception or reports it along with the value
caused it to the given Observer.
|
static void |
throwOrReport(java.lang.Throwable throwable,
SingleSubscriber<?> subscriber)
Forwards a fatal exception or reports it to the given Observer.
|
static void |
throwOrReport(java.lang.Throwable t,
SingleSubscriber<?> o,
java.lang.Object value)
Forwards a fatal exception or reports it along with the value
caused it to the given SingleSubscriber.
|
public static java.lang.RuntimeException propagate(java.lang.Throwable t)
RuntimeException
and Error
directly
or wrap any other exception type into a RuntimeException
.t
- the exception to throw directly or wrappedpropagate
itself throws an exception or error, this is a sort of phantom return
value; propagate
does not actually return anythingpublic static void throwIfFatal(java.lang.Throwable t)
Throwable
only if it belongs to a set of "fatal" error varieties. These
varieties are as follows:
OnErrorNotImplementedException
OnErrorFailedException
OnCompletedFailedException
VirtualMachineError
ThreadDeath
LinkageError
onError
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 throwpublic static void addCause(java.lang.Throwable e, java.lang.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 chaincause
- the Throwable
you want to add as a cause of the chainpublic static java.lang.Throwable getFinalCause(java.lang.Throwable e)
Throwable
at the end of the causality-chain for a particular Throwable
e
- the Throwable
whose final cause you are curious aboutThrowable
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(java.util.List<? extends java.lang.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.public static void throwOrReport(java.lang.Throwable t, Observer<?> o, java.lang.Object value)
t
- the exceptiono
- the observer to report tovalue
- the value that caused the exceptionpublic static void throwOrReport(java.lang.Throwable t, SingleSubscriber<?> o, java.lang.Object value)
t
- the exceptiono
- the observer to report tovalue
- the value that caused the exceptionpublic static void throwOrReport(java.lang.Throwable t, Observer<?> o)
t
- the exceptiono
- the observer to report topublic static void throwOrReport(java.lang.Throwable throwable, SingleSubscriber<?> subscriber)
throwable
- the exception.subscriber
- the subscriber to report to.