Class NestedProblemException

  • All Implemented Interfaces:
    java.io.Serializable

    public abstract class NestedProblemException
    extends java.lang.RuntimeException
    Handy class for wrapping runtime Exceptions with a root cause.

    This class is abstract to force the programmer to extend the class. printStackTrace and other like methods will delegate to the wrapped exception, if any. Base on springsource

    See Also:
    getMessage(), Serialized Form
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        NestedProblemException()  
        NestedProblemException​(java.lang.String msg)
      Construct a NestedRuntimeException with the specified detail message.
        NestedProblemException​(java.lang.String msg, java.lang.Throwable cause)
      Construct a NestedRuntimeException with the specified detail message and nested exception.
      protected NestedProblemException​(java.lang.String message, java.lang.Throwable cause, boolean enableSuppression, boolean writableStackTrace)
      Constructs a new runtime exception with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.
        NestedProblemException​(java.lang.Throwable cause)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(java.lang.Class<?> exType)
      Check whether this exception contains an exception of the given type: either it is of the given class itself or it contains a nested cause of the given type.
      java.lang.String getMessage()
      Return the detail message, including the message from the nested exception if there is one.
      java.lang.Throwable getMostSpecificCause()
      Retrieve the most specific cause of this exception, that is, either the innermost cause (root cause) or this exception itself.
      java.lang.Throwable getRootCause()
      Retrieve the innermost cause of this exception, if any.
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • NestedProblemException

        public NestedProblemException()
      • NestedProblemException

        public NestedProblemException​(java.lang.String msg)
        Construct a NestedRuntimeException with the specified detail message.
        Parameters:
        msg - the detail message
      • NestedProblemException

        public NestedProblemException​(java.lang.Throwable cause)
      • NestedProblemException

        public NestedProblemException​(@Nullable
                                      java.lang.String msg,
                                      @Nullable
                                      java.lang.Throwable cause)
        Construct a NestedRuntimeException with the specified detail message and nested exception.
        Parameters:
        msg - the detail message
        cause - the nested exception
      • NestedProblemException

        protected NestedProblemException​(java.lang.String message,
                                         java.lang.Throwable cause,
                                         boolean enableSuppression,
                                         boolean writableStackTrace)
        Constructs a new runtime exception with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.
        Parameters:
        message - the detail message.
        cause - the cause. (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
        enableSuppression - whether or not suppression is enabled or disabled
        writableStackTrace - whether or not the stack trace should be writable
        Since:
        1.7
    • Method Detail

      • getMessage

        public java.lang.String getMessage()
        Return the detail message, including the message from the nested exception if there is one.
        Overrides:
        getMessage in class java.lang.Throwable
      • getRootCause

        @Nullable
        public java.lang.Throwable getRootCause()
        Retrieve the innermost cause of this exception, if any.
        Returns:
        the innermost exception, or null if none
        Since:
        2.0
      • getMostSpecificCause

        public java.lang.Throwable getMostSpecificCause()
        Retrieve the most specific cause of this exception, that is, either the innermost cause (root cause) or this exception itself.

        Differs from getRootCause() in that it falls back to the present exception if there is no root cause.

        Returns:
        the most specific cause (never null)
        Since:
        2.0.3
      • contains

        public boolean contains​(@Nullable
                                java.lang.Class<?> exType)
        Check whether this exception contains an exception of the given type: either it is of the given class itself or it contains a nested cause of the given type.
        Parameters:
        exType - the exception type to look for
        Returns:
        whether there is a nested exception of the specified type