arc:catch

Version 22.0.8473


arc:catch

Version 22.0.8473


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

パラメータ

  • code:コードパラメータは、選択的に例外をキャッチすることを許容します。すべての例外をキャッチする場合には * 記号を使います。

アトリビュートの制御

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

エラーを、バッチファイル、もしくはシェルコマンドからよりユーザーフレンドリーなメッセージでラップします。

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

例外をスローし、キャッチします。arc:call の中で、RSBException が投げられ、キャッチされます。キーワードのスコープ内で、arc:ecode およびarc:emessage アトリビュートが、現在のアイテムに足され、はき出されます。

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

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

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

関連項目

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