SaslException (Java SE 26 & JDK 26)
Description: declaration: module: java.security.sasl, package: javax.security.sasl, class: SaslException
Keywords: javax.security.sasl.SaslException class

# Class SaslException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
javax.security.sasl.SaslException

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `AuthenticationException`

public class SaslException extends IOException
This class represents an error that has occurred when using SASL.

Since:
  1.5
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SaslException()`
  Constructs a new instance of `SaslException`.
  `SaslException(String detail)`
  Constructs a new instance of `SaslException` with a detailed message.
  `SaslException(String detail, Throwable ex)`
  Constructs a new instance of `SaslException` with a detailed message and a root exception.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `toString()`
  Returns the string representation of this exception.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`
  Modifier and Type
  Method
  Description
  `final void`
  `addSuppressed(Throwable exception)`
  Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
  `Throwable`
  `fillInStackTrace()`
  Fills in the execution stack trace.
  `Throwable`
  `getCause()`
  Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
  `String`
  `getLocalizedMessage()`
  Creates a localized description of this throwable.
  `String`
  `getMessage()`
  Returns the detail message string of this throwable.
  `StackTraceElement[]`
  `getStackTrace()`
  Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
  `final Throwable[]`
  `getSuppressed()`
  Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
  `Throwable`
  `initCause(Throwable cause)`
  Initializes the cause of this throwable to the specified value.
  `void`
  `printStackTrace()`
  Prints this throwable and its backtrace to the standard error stream.
  `void`
  `printStackTrace(PrintStream s)`
  Prints this throwable and its backtrace to the specified print stream.
  `void`
  `printStackTrace(PrintWriter s)`
  Prints this throwable and its backtrace to the specified print writer.
  `void`
  `setStackTrace(StackTraceElement[] stackTrace)`
  Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### SaslException

    public SaslException()
    Constructs a new instance of `SaslException`. The root exception and the detailed message are null.

  - ### SaslException

    public SaslException(String detail)
    Constructs a new instance of `SaslException` with a detailed message. The root exception is null.
    Parameters:
      `detail` - A possibly null string containing details of the exception.
    See Also:
      - `Throwable.getMessage()`

  - ### SaslException

    public SaslException(String detail, Throwable ex)
    Constructs a new instance of `SaslException` with a detailed message and a root exception. For example, a SaslException might result from a problem with the callback handler, which might throw a NoSuchCallbackException if it does not support the requested callback, or throw an IOException if it had problems obtaining data for the callback. The SaslException's root exception would be then be the exception thrown by the callback handler.
    Parameters:
      `detail` - A possibly null string containing details of the exception.
      `ex` - A possibly null root exception that caused this exception.
    See Also:
      - `Throwable.getMessage()`
      - `Throwable.getCause()`

- ## Method Details

  - ### toString

    public String toString()
    Returns the string representation of this exception. The string representation contains this exception's class name, its detailed message, and if it has a root exception, the string representation of the root exception. This string representation is meant for debugging and not meant to be interpreted programmatically.
    Overrides:
      `toString` in class `Throwable`
    Returns:
      The non-null string representation of this exception.
    See Also:
      - `Throwable.getMessage()`