13.28 SQLExceptionクラス

SQLExceptionクラスは、生成されたエラー、エラー・コードおよび関連するメッセージに関する情報を提供します。

表13-40 SQLExceptionの概要

メソッド 説明

SQLException()

SQLExceptionコンストラクタです。

getErrorCode()

データベース・エラー・コードを戻します。

getMessage()

この例外のエラー・メッセージのstringを戻します。

getNLSMessage()

この例外のエラー・メッセージのstringを戻します(Unicodeサポート)。

getNLSUStringMessage()

この例外のエラー・メッセージのUStringを戻します(Unicodeサポート)。

getUStringMessage()

この例外のエラー・メッセージのUStringを戻します。

getXAErrorCode()

この例外のエラー・メッセージのstringを戻します。

isRecoverable()

アプリケーションがフェイルオーバーして、エラーからリカバリできるかどうかを決定します。

setErrorCtx()

エラー・コンテキストを設定します。

what()

このSQLExceptionに関連付けられているエラー・メッセージを戻します。

13.28.1 SQLException()

これは、SQLExceptionコンストラクタです。

構文 説明
SQLException();

NULLのSQLExceptionオブジェクトが作成されます。

SQLException(
   const SQLException &e);

SQLExceptionオブジェクトが別のSQLExceptionオブジェクトのコピーとして作成されます。

パラメータ 説明
e

コピーするSQLExceptionを指定します。

13.28.2 getErrorCode()

データベース・エラー・コードを取得します。

構文

int getErrorCode() const;

13.28.3 getMessage()

エラー・メッセージ文字列が作成されていた場合は、このSQLExceptionのエラー・メッセージ文字列を戻します。SQLExceptionにエラー・メッセージが作成されていない場合は、NULLを戻します。

構文

string getMessage() const;

13.28.4 getNLSMessage()

エラー・メッセージのstringが作成されている場合は、このSQLExceptionのエラー・メッセージのstringを戻します。グローバリゼーション対応環境を渡します。SQLExceptionにエラー・メッセージが作成されていない場合は、NULLのstringを戻します。エラー・メッセージには、環境に関連付けられているキャラクタ・セットが使用されます。

構文

string getNLSMessage(
   Environment *env) const;
パラメータ 説明
env

グローバリゼーション対応環境を指定します。

13.28.5 getNLSUStringMessage()

エラー・メッセージのUStringが作成されている場合は、このSQLExceptionのエラー・メッセージのUStringを戻します。グローバリゼーション対応環境を渡します。SQLExceptionにエラー・メッセージが作成されていない場合は、NULLのUStringを戻します。エラー・メッセージには、環境に関連付けられているキャラクタ・セットが使用されます。

構文

UString getNLSUStringMessage(
   Environment *env) const;
パラメータ 説明
env

グローバリゼーション対応環境を指定します。

13.28.6 getUStringMessage()

エラー・メッセージのUStringが作成されている場合は、このSQLExceptionのエラー・メッセージのUStringを戻します。SQLExceptionにエラー・メッセージが作成されていない場合は、NULLのUStringを戻します。エラー・メッセージには、環境に関連付けられているキャラクタ・セットが使用されます。

構文

UString getUStringMessage() const;

13.28.7 getXAErrorCode()

発生した例外の原因がXAエラーであるかSQLエラーであるかを判別します。

動的登録を使用するC++ XAアプリケーションで使用します。例外の原因がXAの場合はXAエラー・コードを、それ以外の場合はXA_OKを戻します。

構文

int getXAErrorCode(
   const string &dbname) const;
パラメータ 説明
dbname

データベース名を指定します。このデータベース名は、Open Stringに指定されてリソース・マネージャへの接続時に使用されるオプションのdbnameと同じです。

13.28.8 isRecoverable()

アプリケーションがフェイルオーバーして、エラーからリカバリできるかどうかを決定します。リカバリできる場合、TRUEを戻します。

たとえば、あるアプリケーションはORA-03113からはリカバリできるが、ORA-942からはリカバリできないことがあります。

構文

bool isRecoverable();

13.28.9 setErrorCtx()

エラー・コンテキストへのポインタを設定します。

構文

void setErrorCtx(
   void *ctx);
パラメータ 説明
ctx

エラー・コンテキストへのポインタを指定します。

13.28.10 what()

標準C++準拠関数。SQLExceptionに関連付けられているエラー・メッセージを戻します。

構文

const char *what() const throw();