- 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 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
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 this
SQLException
.
- Since:
- 1.1
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SQLException()
Constructs aSQLException
object.SQLException(String reason)
Constructs aSQLException
object with a givenreason
.SQLException(String reason, String SQLState)
Constructs aSQLException
object with a givenreason
andSQLState
.SQLException(String reason, String SQLState, int vendorCode)
Constructs aSQLException
object with a givenreason
,SQLState
andvendorCode
.SQLException(String reason, String sqlState, int vendorCode, Throwable cause)
Constructs aSQLException
object with a givenreason
,SQLState
,vendorCode
andcause
.SQLException(String reason, String sqlState, Throwable cause)
Constructs aSQLException
object with a givenreason
,SQLState
andcause
.SQLException(String reason, Throwable cause)
Constructs aSQLException
object with a givenreason
andcause
.SQLException(Throwable cause)
Constructs aSQLException
object with a givencause
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getErrorCode()
Retrieves the vendor-specific exception code for thisSQLException
object.SQLException
getNextException()
Retrieves the exception chained to thisSQLException
object by setNextException(SQLException ex).String
getSQLState()
Retrieves the SQLState for thisSQLException
object.Iterator<Throwable>
iterator()
Returns an iterator over the chained SQLExceptions.void
setNextException(SQLException ex)
Adds anSQLException
object to the end of the chain.-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
Constructor Detail
-
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 exceptionSQLState
- an XOPEN or SQL:2003 code identifying the exceptionvendorCode
- 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 exceptionSQLState
- 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 exceptioncause
- 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 exceptionsqlState
- an XOPEN or SQL:2003 code identifying the exceptionvendorCode
- a database vendor-specific exception codecause
- 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 Detail
-
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 next
SQLException
object in the chain;null
if there are none - See Also:
setNextException(java.sql.SQLException)
-
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:
getNextException()
-
-