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
`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
`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