cciThrowExceptionW

例外をスローします。 例外は、指定した引数を例外データとして使用するメッセージ・ブローカー・インターフェースによってスローされます。

構文

void cciThrowExceptionW(
  int*           returnCode,
  CCI_EXCEPTION_TYPE type,
  const char* file,
  int line,
  const char* function,
  const CciChar* messageSource,
  int messageNumber,
  const CciChar* traceText,
                      ...
);

パラメーター

returnCode
関数からの戻りコード (出力)。messageSource パラメーターが NULL の場合、returnCode は CCI_INV_DATA_POINTER に設定されます。
type
例外のタイプ (入力)。 有効な値は以下のとおりです。
  • CCI_FATAL_EXCEPTION
  • CCI_RECOVERABLE_EXCEPTION
  • CCI_CONFIGURATION_EXCEPTION
  • CCI_PARSER_EXCEPTION
  • CCI_CONVERSION_EXCEPTION
  • CCI_DATABASE_EXCEPTION
  • CCI_USER_EXCEPTION
file
例外が生成されたソース・ファイル名 (入力)。 この値はオプションですが、デバッグ目的に役立てることができます。
line
例外が生成されたソース・ファイルでの行番号 (入力)。 この値はオプションですが、デバッグ目的に役立てることができます。
function
例外が生成された関数の名前 (入力)。 この値はオプションですが、デバッグ目的に役立てることができます。
messageSource
Windows メッセージ・ソースまたは Linux および UNIX メッセージ・カタログを識別するストリング。 現行バージョンの WebSphere Message Broker のメッセージ・カタログを使用するには、すべてのオペレーティング・システムで BIPV600 を使用します。
messageNumber
例外を識別するメッセージ番号 (入力)。 messageNumber にゼロが指定されている場合、メッセージが利用不能であると想定します。 messageNumber がゼロでない場合、 指定したメッセージがブローカー・イベント・ログに書き込まれ、 変数引数リストに任意の挿入が提供されます。
traceText
ブローカー・サービス・トレース・ログに書き込まれるトレース情報 (入力)。 この情報はオプションですが、問題のデバッグに役立てることができます。
...
メッセージに付随する任意のメッセージ挿入を含む C 変数引数リスト (入力)。 これらの挿入は文字ストリングとして扱われ、変数引数はタイプが pointer to CciChar (CciChar へのポインター) であると見なされます。
注: このリストの最後の引数は、(Ccichar*)0 でなければなりません

戻り値

なし。エラーが発生した場合、returnCode パラメーターがエラーの理由を示します。

void raiseExceptionWithBroker(CciChar* helpfulText,
                              char* file, /* which source file is broken */
                              int line, /* line in above file */
                              char* func /* function in above file */
                              ){
  int rc = CCI_SUCCESS;
  
  /* Set up the message catalog name */
  const char* catalog = "BIPv600";
  
  /* Convert the catalog name to wide characters.
   * BIP_DEF_COMP_CCSID is UTF-8 on distributed and LATIN1 on z/OS
   */
  int maxChars = strlen(catalog)+1;
  CciChar* wCatalog =(CciChar*)malloc(maxChars*sizeof(CciChar));
  cciMbsToUcs(&rc, catalog, wCatalog, maxChars, BIP_DEF_COMP_CCSID);

  /* The above might have failed, but we are already throwing an exception,
   * so rc is now set to type success. */
  rc = CCI_SUCCESS;

  /* Throw the exception. The explanation will be added as the traceText and
   * as an insert to the message
   */
  cciThrowExceptionW(&rc,
                     CCI_FATAL_EXCEPTION,
                     file, line, func,
                     wCatalog, BIP2111,
                     helpfulText,
                     helpfulText,
                     (CciChar*)0
                     );     
  /* The above might have failed, but we are already throwing an exception,
   * so the value of rc is not important. */
}
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as24560_