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:
getMesasge
.
DatabaseMetaData
method getSQLStateType
can be used to discover whether the driver returns the XOPEN type or
the SQL:2003 type.
SQLException
.
Constructor and Description |
---|
SQLException()
Constructs a
SQLException object. |
SQLException(String reason)
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 . |
SQLException(Throwable cause)
Constructs a
SQLException object with a given
cause . |
Modifier and Type | Method and Description |
---|---|
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 |
setNextException(SQLException ex)
Adds an
SQLException object to the end of the chain. |
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public SQLException(String reason, String SQLState, int vendorCode)
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.
reason
- a description of the exceptionSQLState
- an XOPEN or SQL:2003 code identifying the exceptionvendorCode
- a database vendor-specific exception codepublic SQLException(String reason, String SQLState)
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.
reason
- a description of the exceptionSQLState
- an XOPEN or SQL:2003 code identifying the exceptionpublic SQLException(String reason)
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.
reason
- a description of the exceptionpublic SQLException()
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)
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
.
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)
SQLException
object with a given
reason
and cause
.
The SQLState
is initialized to null
and the vendor code is initialized to 0.
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)
SQLException
object with a given
reason
, SQLState
and cause
.
The vendor code is initialized to 0.
reason
- a description of the exception.sqlState
- an XOPEN or SQL:2003 code identifying the exceptioncause
- 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)
SQLException
object with a given
reason
, SQLState
, vendorCode
and cause
.
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 this SQLException
(which is saved for later retrieval by the getCause()
method);
may be null indicating the cause is non-existent or unknown.public String getSQLState()
SQLException
object.public int getErrorCode()
SQLException
object.public SQLException getNextException()
SQLException
object by setNextException(SQLException ex).SQLException
object in the chain;
null
if there are nonesetNextException(java.sql.SQLException)
public void setNextException(SQLException ex)
SQLException
object to the end of the chain.ex
- the new exception that will be added to the end of
the SQLException
chaingetNextException()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
Scripting on this page tracks web page traffic, but does not change the content in any way.