Class SQLException

All Implemented Interfaces:
Serializable, Iterable<Throwable>
Direct Known Subclasses:
BatchUpdateException, RowSetWarning, SerialException, SQLClientInfoException, SQLNonTransientException, SQLRecoverableException, SQLTransientException, SQLWarning, SyncFactoryException, SyncProviderException

public class SQLException extends Exception implements Iterable<Throwable>

An exception that provides information on a database access error or other errors.

Each SQLException provides several kinds of information:

  • a string describing the error. This is used as the Java Exception message, available via the method getMessage.
  • a "SQLstate" string, which follows either the XOPEN SQLstate conventions or the SQL:2003 conventions. The values of the SQLState string are described in the appropriate spec. The DatabaseMetaData method getSQLStateType can be used to discover whether the driver returns the XOPEN type or the SQL:2003 type.
  • an integer error code that is specific to each vendor. Normally this will be the actual error code returned by the underlying database.
  • a chain to a next Exception. This can be used to provide additional error information.
  • the causal relationship, if any for this SQLException.
Since:
1.1
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a SQLException object.
    Constructs a SQLException object with a given reason.
    SQLException(String reason, String SQLState)
    Constructs a SQLException object with a given reason and SQLState.
    SQLException(String reason, String SQLState, int vendorCode)
    Constructs a SQLException object with a given reason, SQLState and vendorCode.
    SQLException(String reason, String sqlState, int vendorCode, Throwable cause)
    Constructs a SQLException object with a given reason, SQLState, vendorCode and cause.
    SQLException(String reason, String sqlState, Throwable cause)
    Constructs a SQLException object with a given reason, SQLState and cause.
    SQLException(String reason, Throwable cause)
    Constructs a SQLException object with a given reason and cause.
    Constructs a SQLException object with a given cause.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Retrieves the vendor-specific exception code for this SQLException object.
    Retrieves the exception chained to this SQLException object by setNextException(SQLException ex).
    Retrieves the SQLState for this SQLException object.
    Returns an iterator over the chained SQLExceptions.
    void
    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
    The specified exception is going to be suppressed in order to give priority to this exception (primary exception) and to be appended to the list of suppressed exceptions.
    Record in the receiver a walkback from the point where this message was sent.
    Answers the cause of this Throwable, or null if there is no cause.
    Answers the extra information message which was provided when the throwable was created.
    Answers the extra information message which was provided when the throwable was created.
    Answers an array of StackTraceElement.
    final Throwable[]
    Returns an array of exceptions suppressed, typically by the automatically generated code from the try-with-resources statement, in order to give priority to this exception (primary exception).
    initCause(Throwable throwable)
    Initialize the cause of the receiver.
    void
    Outputs a printable representation of the receiver's walkback on the System.err stream.
    void
    Outputs a printable representation of the receiver's walkback on the stream specified by the argument.
    void
    Outputs a printable representation of the receiver's walkback on the writer specified by the argument.
    void
    Sets the array of StackTraceElements.
    Answers a string containing a concise, human-readable description of the receiver.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.

    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.
    Creates a Spliterator over the elements described by this Iterable.
  • Constructor Details

    • SQLException

      public SQLException(String reason, String SQLState, int vendorCode)
      Constructs a SQLException 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
    • SQLException

      public SQLException(String reason, String SQLState)
      Constructs a SQLException 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
    • SQLException

      public SQLException(String reason)
      Constructs a SQLException 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
    • SQLException

      public SQLException()
      Constructs a SQLException 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.
    • SQLException

      public SQLException(Throwable cause)
      Constructs a SQLException 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
    • SQLException

      public SQLException(String reason, Throwable cause)
      Constructs a SQLException 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
    • SQLException

      public SQLException(String reason, String sqlState, Throwable cause)
      Constructs a SQLException 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
    • SQLException

      public SQLException(String reason, String sqlState, int vendorCode, Throwable cause)
      Constructs a SQLException 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
  • Method Details

    • getSQLState

      public String getSQLState()
      Retrieves the SQLState for this SQLException object.
      Returns:
      the SQLState value
    • getErrorCode

      public int getErrorCode()
      Retrieves the vendor-specific exception code for this SQLException object.
      Returns:
      the vendor's error code
    • getNextException

      public SQLException getNextException()
      Retrieves the exception chained to this SQLException object by setNextException(SQLException ex).
      Returns:
      the next SQLException object in the chain; null if there are none
      See Also:
    • setNextException

      public void setNextException(SQLException ex)
      Adds an SQLException object to the end of the chain.
      Parameters:
      ex - the new exception that will be added to the end of the SQLException chain
      See Also:
    • iterator

      public Iterator<Throwable> iterator()
      Returns an iterator over the chained SQLExceptions. The iterator will be used to iterate over each SQLException and its underlying cause (if any).
      Specified by:
      iterator in interface Iterable<Throwable>
      Returns:
      an iterator over the chained SQLExceptions and causes in the proper order
      Since:
      1.6