Module java.sql
Package java.sql

Class 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
参见:
  • Constructor Details

    • SQLException

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

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

      public SQLException(String reason)
      使用给定的reason构造SQLException对象。 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)
      使用给定的cause构造SQLException对象。 SQLState初始化为null,供应商代码初始化为0。如果cause==null,则reason初始化为null,如果cause!=null,则reason初始化为cause.toString()
      参数:
      cause - 此SQLException对象的根本原因(稍后可通过getCause()方法检索);可能为null,表示原因不存在或未知。
      自:
      1.6
    • SQLException

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

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

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

    • getSQLState

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

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

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

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

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