java.sql

接口
异常
java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 java.sql.SQLException
所有已实现的接口:
Serializable, Iterable< Throwable>
直接已知子类:
BatchUpdateException, RowSetWarning, SerialException, SQLClientInfoException, SQLNonTransientException, SQLRecoverableException, SQLTransientException, SQLWarning, SyncFactoryException, SyncProviderException

public class SQLException
     
extends Exception
implements Iterable< Throwable>

提供关于数据库访问错误或其他错误信息的异常。

每个 SQLException 都可提供以下多种消息:

  • 描述错误的字符串。此字符串用作 Java Exception 消息,可以通过方法 getMessage 获得。
  • "SQLstate" 字符串,该字符串遵守 XOPEN SQLstate 约定或 SQL:2003 约定。SQLState 字符串的值在适当的规范中描述。DatabaseMetaData 的方法 getSQLStateType 可用于确定驱动程序返回 XOPEN 类型还是 SQL:2003 类型。
  • 特定于每个供应商的整数错误代码。通常,这将是底层数据库返回的实际错误代码。
  • 到下一个 Exception 的链接。可以使用此链接提供其他错误信息。
  • 因果关系,如果存在任何导致此 SQLException 的原因。

另请参见:
序列化表格

构造方法摘要
SQLException()
          构造一个 SQLException 对象。
SQLException(String reason)
          构造一个具有给定 reasonSQLException 对象。
SQLException(String reason, String SQLState)
          构造一个具有给定 reasonSQLStateSQLException 对象。
SQLException(String reason, String SQLState, int vendorCode)
          构造一个具有给定 reasonSQLStatevendorCodeSQLException 对象。
SQLException(String reason, String sqlState, int vendorCode, Throwable cause)
          构造一个具有给定 reasonSQLStatevendorCodecauseSQLException 对象。
SQLException(String reason, String sqlState, Throwable cause)
          构造一个具有给定 reasonSQLStatecauseSQLException 对象。
SQLException(String reason, Throwable cause)
          构造一个具有给定 reasoncauseSQLException 对象。
SQLException(Throwable cause)
          构造一个具有给定 causeSQLException 对象。
 
方法摘要
 int getErrorCode()
          获取此 SQLException 对象的特定于供应商的异常代码。
 SQLException getNextException()
          通过 setNextException(SQLException ex) 获取链接到此 SQLException 对象的异常。
 String getSQLState()
          获取此 SQLException 对象的 SQLState。
 Iterator<Throwable> iterator()
          返回在链接的 SQLExceptions 上进行迭代的迭代器。
 void setNextException(SQLException ex)
          将 SQLException 对象添加到链接的末尾。
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

SQLException

public SQLException(String reason,
                    String SQLState,
                    int vendorCode)
构造一个具有给定 reasonSQLStatevendorCodeSQLException 对象。 cause 没有初始化,随后可调用 Throwable.initCause(java.lang.Throwable) 方法初始化。

参数:
reason - 对异常的描述
SQLState - 标识异常的 XOPEN 或 SQL:2003 代码
vendorCode - 特定于数据库供应商的异常代码

SQLException

public SQLException(String reason,
                    String SQLState)
构造一个具有给定 reasonSQLStateSQLException 对象。 cause 没有初始化,随后可调用 Throwable.initCause(java.lang.Throwable) 方法初始化。供应商代码被初始化为 0。

参数:
reason - 对异常的描述
SQLState - 标识异常的 XOPEN 或 SQL:2003 代码

SQLException

public SQLException(String reason)
构造一个具有给定 reasonSQLException 对象。 SQLState 被初始化为 null,供应商代码被初始化为 0。 cause 没有初始化,随后可调用 Throwable.initCause(java.lang.Throwable) 方法初始化。

参数:
reason - 对异常的描述

SQLException

public SQLException()
构造一个 SQLException 对象。 reasonSQLState 被初始化为 null,供应商代码被初始化为 0。 cause 没有初始化,随后可调用 Throwable.initCause(java.lang.Throwable) 方法初始化。


SQLException

public SQLException(Throwable cause)
构造一个具有给定 causeSQLException 对象。 SQLState 被初始化为 null,供应商代码被初始化为 0。如果 cause==null,则 reason 被初始化为 null;如果 cause!=null,则初始化为 cause.toString()

参数:
cause - 导致此 SQLException 的底层原因(保存此 cause,以供以后通过 getCause() 方法获取);此参数可以为 null,指示 cause 不存在或未知。
从以下版本开始:
1.6

SQLException

public SQLException(String reason,
                    Throwable cause)
构造一个具有给定 reasoncauseSQLException 对象。 SQLState 被初始化为 null,供应商代码被初始化为 0。

参数:
reason - 对异常的描述。
cause - 导致此 SQLException 的底层原因(保存此 cause,以供以后通过 getCause() 方法获取);此参数可以为 null,指示 cause 不存在或未知。
从以下版本开始:
1.6

SQLException

public SQLException(String reason,
                    String sqlState,
                    Throwable cause)
构造一个具有给定 reasonSQLStatecauseSQLException 对象。供应商代码被初始化为 0。

参数:
reason - 对异常的描述。
sqlState - 标识异常的 XOPEN 或 SQL:2003 代码
cause - 导致此 SQLException 的底层原因(保存此 cause,以供以后通过 getCause() 方法获取);此参数可以为 null,指示 cause 不存在或未知。
从以下版本开始:
1.6

SQLException

public SQLException(String reason,
                    String sqlState,
                    int vendorCode,
                    Throwable cause)
构造一个具有给定 reasonSQLStatevendorCodecauseSQLException 对象。

参数:
reason - 对异常的描述
sqlState - 标识异常的 XOPEN 或 SQL:2003 代码
vendorCode - 特定于数据库供应商的异常代码
cause - 导致此 SQLException 的底层原因(保存此 cause,以供以后通过 getCause() 方法获取);此参数可以为 null,指示 cause 不存在或未知。
从以下版本开始:
1.6
方法详细信息

getSQLState

public String getSQLState()
获取此 SQLException 对象的 SQLState。

返回:
SQLState 值

getErrorCode

public int getErrorCode()
获取此 SQLException 对象的特定于供应商的异常代码。

返回:
供应商的错误代码

getNextException

public SQLException getNextException()
通过 setNextException(SQLException ex) 获取链接到此 SQLException 对象的异常。

返回:
链接中的 SQLException 对象;如果不存在,则返回 null
另请参见:
setNextException(java.sql.SQLException)

setNextException

public void setNextException(SQLException ex)
SQLException 对象添加到链接的末尾。

参数:
ex - 将添加到 SQLException 链接末尾的新异常
另请参见:
getNextException()

iterator

public Iterator<Throwable> iterator()
返回在链接的 SQLExceptions 上进行迭代的迭代器。该迭代器将用来在每个 SQLException 及其底层 cause(如果有)进行迭代。

指定者:
接口 Iterable<Throwable> 中的 iterator
返回:
以适当的顺序在链接的 SQLExceptions 和 cause 上进行迭代的迭代器
从以下版本开始:
1.6