api:catch

Version 22.0.8500


api:catch

Version 22.0.8500


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:例外の強制。