SQLRecoverableException (Java SE 26 & JDK 26)
Description: declaration: module: java.sql, package: java.sql, class: SQLRecoverableException
Keywords: java.sql.SQLRecoverableException class

# Class SQLRecoverableException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.SQLRecoverableException

All Implemented Interfaces:
  `Serializable, Iterable<Throwable>`

public class SQLRecoverableException extends SQLException
The subclass of `SQLException` thrown in situations where a previously failed operation might be able to succeed if the application performs some recovery steps and retries the entire transaction or in the case of a distributed transaction, the transaction branch. At a minimum, the recovery operation must include closing the current connection and getting a new connection.

Since:
  1.6
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SQLRecoverableException()`
  Constructs a `SQLRecoverableException` object.
  `SQLRecoverableException(String reason)`
  Constructs a `SQLRecoverableException` object with a given `reason`.
  `SQLRecoverableException(String reason, String SQLState)`
  Constructs a `SQLRecoverableException` object with a given `reason` and `SQLState`.
  `SQLRecoverableException(String reason, String SQLState, int vendorCode)`
  Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState` and `vendorCode`.
  `SQLRecoverableException(String reason, String SQLState, int vendorCode, Throwable cause)`
  Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.
  `SQLRecoverableException(String reason, String SQLState, Throwable cause)`
  Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState` and `cause`.
  `SQLRecoverableException(String reason, Throwable cause)`
  Constructs a `SQLRecoverableException` object with a given `reason` and `cause`.
  `SQLRecoverableException(Throwable cause)`
  Constructs a `SQLRecoverableException` object with a given `cause`.

- ## Method Summary

  ### Methods declared in class SQLException

  `getErrorCode, getNextException, getSQLState, iterator, setNextException`
  Modifier and Type
  Method
  Description
  `int`
  `getErrorCode()`
  Retrieves the vendor-specific exception code for this `SQLException` object.
  `SQLException`
  `getNextException()`
  Retrieves the exception chained to this `SQLException` object by setNextException(SQLException ex).
  `String`
  `getSQLState()`
  Retrieves the SQLState for this `SQLException` object.
  `Iterator<Throwable>`
  `iterator()`
  Returns an iterator over the chained SQLExceptions.
  `void`
  `setNextException(SQLException ex)`
  Adds an `SQLException` object to the end of the chain.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`
  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.
  `String`
  `toString()`
  Returns a short description of this throwable.

  ### 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.

  ### Methods declared in interface Iterable

  `forEach, spliterator`
  Modifier and Type
  Method
  Description
  `default void`
  `forEach(Consumer<? super Throwable> action)`
  Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
  `default Spliterator<Throwable>`
  `spliterator()`
  Creates a `Spliterator` over the elements described by this `Iterable`.

- ## Constructor Details

  - ### SQLRecoverableException

    public SQLRecoverableException()
    Constructs a `SQLRecoverableException` object. The `reason`, `SQLState` are initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason)
    Constructs a `SQLRecoverableException` object with a given `reason`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.
    Parameters:
      `reason` - a description of the exception
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason, String SQLState)
    Constructs a `SQLRecoverableException` object with a given `reason` and `SQLState`. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method. The vendor code is initialized to 0.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason, String SQLState, int vendorCode)
    Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState` and `vendorCode`. The `cause` is not initialized, and may subsequently be initialized by a call to the `Throwable.initCause(java.lang.Throwable)` method.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `vendorCode` - a database vendor specific exception code
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(Throwable cause)
    Constructs a `SQLRecoverableException` object with a given `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0. The `reason` is initialized to `null` if `cause==null` or to `cause.toString()` if `cause!=null`.
    Parameters:
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason, Throwable cause)
    Constructs a `SQLRecoverableException` object with a given `reason` and `cause`. The `SQLState` is initialized to `null` and the vendor code is initialized to 0.
    Parameters:
      `reason` - a description of the exception.
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason, String SQLState, Throwable cause)
    Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState` and `cause`. The vendor code is initialized to 0.
    Parameters:
      `reason` - a description of the exception.
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6

  - ### SQLRecoverableException

    public SQLRecoverableException(String reason, String SQLState, int vendorCode, Throwable cause)
    Constructs a `SQLRecoverableException` object with a given `reason`, `SQLState`, `vendorCode` and `cause`.
    Parameters:
      `reason` - a description of the exception
      `SQLState` - an XOPEN or SQL:2003 code identifying the exception
      `vendorCode` - a database vendor-specific exception code
      `cause` - the underlying reason for this `SQLException` (which is saved for later retrieval by the `getCause()` method); may be null indicating the cause is non-existent or unknown.
    Since:
      1.6