Module java.sql
Package java.sql

Class SQLException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
All Implemented Interfaces:
Serializable,Iterable<Throwable>
Direct Known Subclasses:
BatchUpdateException,RowSetWarning,SerialException,SQLClientInfoException,SQLNonTransientException,SQLRecoverableException,SQLTransientException,SQLWarning,SyncFactoryException,SyncProviderException

public classSQLExceptionextendsExceptionimplementsIterable<Throwable>

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

EachSQLException provides several kinds of information:

  • a string describing the error. This is used as the Java Exception message, available via the methodgetMessage.
  • 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. TheDatabaseMetaData methodgetSQLStateType 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 thisSQLException.

Since:
1.1
See Also:
  • Constructor Details

    • SQLException

      public SQLException(String reason,String SQLState, int vendorCode)
      Constructs aSQLException object with a givenreason,SQLState andvendorCode. Thecause is not initialized, and may subsequently be initialized by a call to theThrowable.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 aSQLException object with a givenreason andSQLState. Thecause is not initialized, and may subsequently be initialized by a call to theThrowable.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 aSQLException object with a givenreason. TheSQLState is initialized tonull and the vendor code is initialized to 0. Thecause is not initialized, and may subsequently be initialized by a call to theThrowable.initCause(java.lang.Throwable) method.
      Parameters:
      reason - a description of the exception
    • SQLException

      public SQLException()
      Constructs aSQLException object. Thereason,SQLState are initialized tonull and the vendor code is initialized to 0. Thecause is not initialized, and may subsequently be initialized by a call to theThrowable.initCause(java.lang.Throwable) method.
    • SQLException

      public SQLException(Throwable cause)
      Constructs aSQLException object with a givencause. TheSQLState is initialized tonull and the vendor code is initialized to 0. Thereason is initialized tonull ifcause==null or tocause.toString() ifcause!=null.
      Parameters:
      cause - the underlying reason for thisSQLException (which is saved for later retrieval by thegetCause() method); may be null indicating the cause is non-existent or unknown.
      Since:
      1.6
    • SQLException

      public SQLException(String reason,Throwable cause)
      Constructs aSQLException object with a givenreason andcause. TheSQLState is initialized tonull and the vendor code is initialized to 0.
      Parameters:
      reason - a description of the exception.
      cause - the underlying reason for thisSQLException (which is saved for later retrieval by thegetCause() 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 aSQLException object with a givenreason,SQLState andcause. 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 thisSQLException (which is saved for later retrieval by thegetCause() 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 aSQLException object with a givenreason,SQLState,vendorCode andcause.
      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 thisSQLException (which is saved for later retrieval by thegetCause() 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 thisSQLException object.
      Returns:
      the SQLState value
    • getErrorCode

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

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

      public void setNextException(SQLException ex)
      Adds anSQLException object to the end of the chain.
      Parameters:
      ex - the new exception that will be added to the end of theSQLException 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