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>