Class Exceptions



  • public final class Exceptions
    extends Object
    • Method Detail

      • propagate

        public static RuntimeException propagate(Throwable t)
        Returns:
        because propagate itself throws an exception or error, this is a sort of phantom return value; propagate does not actually return anything
      • throwIfFatal

        public static void throwIfFatal(Throwable t)
        Throws a particular Throwable only if it belongs to a set of "fatal" error varieties. These varieties are as follows: This can be useful if you are writing an operator that calls user-supplied code, and you want to notify subscribers of errors encountered in that code by calling their 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.
        Parameters:
        t - the Throwable to test and perhaps throw
        See Also:
        RxJava: StackOverflowError is swallowed (Issue #748)
      • addCause

        public static void addCause(Throwable e,
                                    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).
        Parameters:
        e - the Throwable at the head of the causality chain
        cause - the Throwable you want to add as a cause of the chain
      • getFinalCause

        public static Throwable getFinalCause(Throwable e)
        Get the Throwable at the end of the causality-chain for a particular Throwable
        Parameters:
        e - the Throwable whose final cause you are curious about
        Returns:
        the last 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)