api:catch

Version 25.3.9411


api:catch


api:catch キーワードを使用して、スクリプト内で例外処理ブロックを作成します。api:try に加え、次のキーワード内でapi:catch ブロックを有することができます。スコープは黙示的api:try セクションとして機能します:

パラメータ

  • code:コードパラメータは、選択的に例外をキャッチすることを許容します。すべての例外をキャッチするには、アスタリスク(*)を使います。

アトリビュートの制御

  • _code:キャッチされた例外のコード。
  • _desc:キャッチされた例外の短い説明。
  • _details:例外のより詳細な説明。

バッチファイルやシェルコマンドからのエラー出力に、ユーザーフレンドリーなメッセージをラップします:

<api:try>
<api:call op="sysExecute">
  <api:check attr="sys:error">
    <api:throw code="myerror" description="バッチファイルは実行できませんでした" details="[sys:error]"/>
  </api:check>
</api:call>
<api:catch code="*">
  <api:call op="appSendEmail"/>
</api:catch>
</api:try>

例外をスローし、キャッチします。api:call の中で、RSBException がスローされてキャッチされます。キーワードのスコープ内で、api:ecode およびapi:emessage アトリビュートが現在のアイテムに追加され、プッシュされます。

<api:call op="...">
  <api:throw code="myerror" description="thedescription" details="Other Details."/>
  <api:catch code="myerror">
    <api:set attr="api:ecode" value="[_code]"/>
    <api:set attr="api:emessage" value="[_description]: [_details]"/>
    <api:push/>
  </api:catch>
</api:call>

すべての例外をキャッチします:

<api:catch code="*">
  例外が発生しました。Code: [_code], Message: [_desc]
</api:catch>

関連項目

  • api:try:例外をキャッチするスコープを定義する。
  • api:throw:例外を強制する。