Class NestedExceptionUtils

java.lang.Object
org.springframework.core.NestedExceptionUtils

public abstract class NestedExceptionUtils extends Object
Helper class for implementing exception classes which are capable of holding nested exceptions. Necessary because we can't share a base class among different exception types.

Mainly for use within the framework.

Since:
2.0
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • NestedExceptionUtils

      public NestedExceptionUtils()
  • Method Details

    • buildMessage

      @Deprecated(since="6.0") @Nullable public static String buildMessage(@Nullable String message, @Nullable Throwable cause)
      Deprecated.
      as of 6.0, in favor of custom exception messages with selective inclusion of cause messages
      Build a message for the given base message and root cause.
      Parameters:
      message - the base message
      cause - the root cause
      Returns:
      the full exception message
    • getRootCause

      @Nullable public static Throwable getRootCause(@Nullable Throwable original)
      Retrieve the innermost cause of the given exception, if any.
      Parameters:
      original - the original exception to introspect
      Returns:
      the innermost exception, or null if none
      Since:
      4.3.9
    • getMostSpecificCause

      public static Throwable getMostSpecificCause(Throwable original)
      Retrieve the most specific cause of the given exception, that is, either the innermost cause (root cause) or the exception itself.

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

      Parameters:
      original - the original exception to introspect
      Returns:
      the most specific cause (never null)
      Since:
      4.3.9