模块 java.sql
 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 异常消息,可通过方法 getMessage 获得。
  • “SQLstate”字符串,它遵循 XOPEN SQLstate 约定或 SQL:2003 约定。 SQLState 字符串的值在相应的规范中进行了描述。 DatabaseMetaData 方法 getSQLStateType 可用于发现驱动程序返回的是 XOPEN 类型还是 SQL:2003 类型。
  • 每个供应商特定的整数错误代码。通常这将是底层数据库返回的实际错误代码。
  • 到下一个异常的链。这可用于提供额外的错误信息。
  • 这个 SQLException 的因果关系,如果有的话。
自从:
1.1
参见:
  • 构造方法详细信息

    • SQL异常

      public SQLException(String  reason, String  SQLState, int vendorCode)
      使用给定的 reasonSQLStatevendorCode 构造一个 SQLException 对象。 cause 未初始化,随后可能会通过调用 Throwable.initCause(java.lang.Throwable) 方法进行初始化。
      参数:
      reason - 异常的描述
      SQLState - 标识异常的 XOPEN 或 SQL:2003 代码
      vendorCode - 特定于数据库供应商的异常代码
    • SQL异常

      public SQLException(String  reason, String  SQLState)
      使用给定的 reasonSQLState 构造一个 SQLException 对象。 cause 未初始化,随后可能会通过调用 Throwable.initCause(java.lang.Throwable) 方法进行初始化。供应商代码初始化为 0。
      参数:
      reason - 异常的描述
      SQLState - 标识异常的 XOPEN 或 SQL:2003 代码
    • SQL异常

      public SQLException(String  reason)
      使用给定的 reason 构造一个 SQLException 对象。 SQLState 初始化为 null,供应商代码初始化为 0。cause 未初始化,随后可通过调用 Throwable.initCause(java.lang.Throwable) 方法进行初始化。
      参数:
      reason - 异常的描述
    • SQL异常

      public SQLException()
      构造一个 SQLException 对象。 reasonSQLState 初始化为 null,供应商代码初始化为 0。cause 未初始化,随后可通过调用 Throwable.initCause(java.lang.Throwable) 方法进行初始化。
    • SQL异常

      public SQLException(Throwable  cause)
      使用给定的 cause 构造一个 SQLException 对象。 SQLState 初始化为 null,供应商代码初始化为 0。reason 初始化为 null(如果是 cause==null)或cause.toString()(如果是 cause!=null)。
      参数:
      cause - 此 SQLException 的根本原因(保存以供以后通过 getCause() 方法检索);可能为空,表示原因不存在或未知。
      自从:
      1.6
    • SQL异常

      public SQLException(String  reason, Throwable  cause)
      使用给定的 reasoncause 构造一个 SQLException 对象。 SQLState 初始化为 null,供应商代码初始化为 0。
      参数:
      reason - 异常的描述。
      cause - 此 SQLException 的根本原因(保存以供以后通过 getCause() 方法检索);可能为空,表示原因不存在或未知。
      自从:
      1.6
    • SQL异常

      public SQLException(String  reason, String  sqlState, Throwable  cause)
      使用给定的 reasonSQLStatecause 构造一个 SQLException 对象。供应商代码初始化为 0。
      参数:
      reason - 异常的描述。
      sqlState - 标识异常的 XOPEN 或 SQL:2003 代码
      cause - 此 SQLException 的根本原因(保存以供以后通过 getCause() 方法检索);可能为空,表示原因不存在或未知。
      自从:
      1.6
    • SQL异常

      public SQLException(String  reason, String  sqlState, int vendorCode, Throwable  cause)
      使用给定的 reasonSQLStatevendorCodecause 构造一个 SQLException 对象。
      参数:
      reason - 异常的描述
      sqlState - 标识异常的 XOPEN 或 SQL:2003 代码
      vendorCode - 特定于数据库供应商的异常代码
      cause - 此 SQLException 的根本原因(保存以供以后通过 getCause() 方法检索);可能为空,表示原因不存在或未知。
      自从:
      1.6
  • 方法详情

    • getSQLState

      public String  getSQLState()
      检索此 SQLException 对象的 SQLState。
      返回:
      SQLState 值
    • getErrorCode

      public int getErrorCode()
      检索此 SQLException 对象的特定于供应商的异常代码。
      返回:
      供应商的错误代码
    • getNextException

      public SQL异常  getNextException()
      通过 setNextException(SQLException ex) 检索链接到此 SQLException 对象的异常。
      返回:
      链中的下一个 SQLException 对象; null 如果没有
      参见:
    • setNextException

      public void setNextException(SQL异常  ex)
      SQLException 对象添加到链的末尾。
      参数:
      ex - 将添加到 SQLException 链末尾的新异常
      参见:
    • iterator

      public Iterator <Throwable > iterator()
      返回链式 SQLExceptions 上的迭代器。迭代器将用于迭代每个 SQLException 及其根本原因(如果有)。
      指定者:
      iterator 在接口 Iterable<Throwable>
      返回:
      链式 SQLExceptions 上的迭代器并以正确的顺序导致
      自从:
      1.6