AI-generated Key Takeaways
-
SQLExceptionis a Java exception indicating database access errors or other database-related issues, providing detailed information about the error. -
It includes an error message, standardized SQLState, vendor-specific error code, and potentially chained exceptions for comprehensive debugging.
-
Subclasses of
SQLExceptioncategorize specific database issues like data truncation, syntax errors, or connection problems. -
Developers can access error details and navigate chained exceptions using methods like
getMessage(),getSQLState(),getErrorCode(), andgetNextException(). -
Multiple constructors offer flexibility in instantiating
SQLExceptionwith varying levels of error information.
| Known Direct Subclasses |
| Known Indirect Subclasses |
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
getMesasge. - 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
DatabaseMetaDatamethodgetSQLStateTypecan 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.
Public Constructor Summary
|
SQLException(String reason, String SQLState, int vendorCode)
Constructs a
SQLException object with a given
reason, SQLState and
vendorCode. |
|
|
SQLException(String reason, String SQLState)
Constructs a
SQLException object with a given
reason and SQLState. |
|
|
SQLException()
Constructs a
SQLException object. |
|
|
SQLException(String reason, Throwable cause)
Constructs a
SQLException object with a given
reason and cause. |
|
|
SQLException(String reason, String sqlState, Throwable cause)
Constructs a
SQLException object with a given
reason, SQLState and cause. |
|
|
SQLException(String reason, String sqlState, int vendorCode, Throwable cause)
Constructs a
SQLException object with a given
reason, SQLState, vendorCode
and cause. |
Public Method Summary
| 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 |
Inherited Method Summary
Public Constructors
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 |
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 |
public SQLException (String reason)
Constructs a SQLException object with a given
reason. The SQLState is initialized to
null and the vender 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 |
|---|
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.
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. |
|---|
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. |
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. |
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. |
Public Methods
public int getErrorCode ()
Retrieves the vendor-specific exception code
for this SQLException object.
Returns
- the vendor's error code
public SQLException getNextException ()
Retrieves the exception chained to this
SQLException object by setNextException(SQLException ex).
Returns
- the next
SQLExceptionobject in the chain;nullif there are none
See Also
public String getSQLState ()
Retrieves the SQLState for this SQLException object.
Returns
- the SQLState value
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).
Returns
- an iterator over the chained SQLExceptions and causes in the proper order
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 |
|---|