Package jakarta.servlet

## Class ServletException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - jakarta.servlet.ServletException

- All Implemented Interfaces:
    `java.io.Serializable`
  Direct Known Subclasses:
    `UnavailableException`

      public class ServletException
      extends java.lang.Exception

  Defines a general exception a servlet can throw when it encounters difficulty.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ServletException()` | Constructs a new servlet exception.
    `ServletException​(java.lang.String message)` | Constructs a new servlet exception with the specified message.
    `ServletException​(java.lang.String message, java.lang.Throwable rootCause)` | Constructs a new servlet exception when the servlet needs to throw an exception and include a message about the "root cause" exception that interfered with its normal operation, including a description message.
    `ServletException​(java.lang.Throwable rootCause)` | Constructs a new servlet exception when the servlet needs to throw an exception and include a message about the "root cause" exception that interfered with its normal operation.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Throwable` | `getRootCause()` | Returns the exception that caused this servlet exception.

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, 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

    - #### ServletException

          public ServletException()

      Constructs a new servlet exception.

    - #### ServletException

          public ServletException​(java.lang.String message)

      Constructs a new servlet exception with the specified message. The message can be written to the server log and/or displayed for the user.
      Parameters:
        `message` - a `String` specifying the text of the exception message

    - #### ServletException

          public ServletException​(java.lang.String message,
                                  java.lang.Throwable rootCause)

      Constructs a new servlet exception when the servlet needs to throw an exception and include a message about the "root cause" exception that interfered with its normal operation, including a description message.
      Parameters:
        `message` - a `String` containing the text of the exception message
        `rootCause` - the `Throwable` exception that interfered with the servlet's normal operation, making this servlet exception necessary

    - #### ServletException

          public ServletException​(java.lang.Throwable rootCause)

      Constructs a new servlet exception when the servlet needs to throw an exception and include a message about the "root cause" exception that interfered with its normal operation. The exception's message is based on the localized message of the underlying exception.

      This method calls the `getLocalizedMessage` method on the `Throwable` exception to get a localized exception message. When subclassing `ServletException`, this method can be overridden to create an exception message designed for a specific locale.

      Parameters:
        `rootCause` - the `Throwable` exception that interfered with the servlet's normal operation, making the servlet exception necessary

  - ### Method Detail

    - #### getRootCause

          public java.lang.Throwable getRootCause()

      Returns the exception that caused this servlet exception.
      Returns:
        the `Throwable` that caused this servlet exception