共用方式為


處理錯誤

使用 Microsoft SQL Server 2005 JDBC Driver 時,碰到的所有資料庫錯誤狀況,都會使用 SQLServerException 類別,以例外狀況傳回至 Java 應用程式。SQLServerException 類別的下列方法是繼承自 java.sql.SQLException 和 java.lang.Throwable;它們可以用來傳回有關所發生之 SQL Server 錯誤的特定資訊:

  • getSQLState 傳回例外狀況的標準 X/Open 或 SQL99 狀態碼。

  • getErrorCode 傳回特定的資料庫錯誤號碼。

  • getMessage 傳回例外狀況的全文。錯誤訊息文字會描述問題,而且通常包括顯示錯誤訊息時會插入其中的資訊之預留位置,例如物件名稱。

  • getNextException 傳回下一個 SQLServerException 物件,如果沒有其他例外狀況物件要傳回,則傳回 Null。

在下列範例中,連至 SQL Server AdventureWorks 範例資料庫的開啟連接會傳遞至函數,並會建構一個錯誤格式的 SQL 陳述式,它不含 FROM 子句。然後,會執行此陳述式,並處理 SQL 例外狀況。

public static void executeSQLException(Connection con) {
   try {
      String SQL = "SELECT TOP 10 * Person.Contact";
      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(SQL);

      while (rs.next()) {
         System.out.println(rs.getString(4) + " " + rs.getString(6));
      }
      stmt.close();
   }
   catch (SQLException se) {
      do {
         System.out.println("SQL STATE: " + se.getSQLState());
         System.out.println("ERROR CODE: " + se.getErrorCode());
         System.out.println("MESSAGE: " + se.getMessage());
         System.out.println();
         se = se.getNextException();
      } while (se != null);
   }
}

另請參閱

其他資源

診斷 JDBC Driver 的問題