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 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
Constructor | Description |
---|---|
SQLException() | Constructs a |
SQLException(String reason) | Constructs a |
SQLException(String reason,
String SQLState) | Constructs a |
SQLException(String reason,
String SQLState,
int vendorCode) | Constructs a |
SQLException(String reason,
String sqlState,
int vendorCode,
Throwable cause) | Constructs a |
SQLException(String reason,
String sqlState,
Throwable cause) | Constructs a |
SQLException(String reason,
Throwable cause) | Constructs a |
SQLException(Throwable cause) | Constructs a |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
int | getErrorCode() | Retrieves the vendor-specific exception code for this |
SQLException | getNextException() | Retrieves the exception chained to this |
String | getSQLState() | Retrieves the SQLState for this |
Iterator<Throwable> | iterator() | Returns an iterator over the chained SQLExceptions. |
void | setNextException(SQLException ex) | Adds an |
Methods declared in class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface java.lang.Iterable
forEach, spliterator
Constructor Detail
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 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 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 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 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 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 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 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 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(java.sql.SQLException)
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 theSQLException
chain - See Also:
getNextException()
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).