api:catch
api:catch キーワードは、スクリプト内で例外処理ブロックを作成するために使われます。api:try に加え、次のキーワード内でapi:catch ブロックを有することができます。スコープは黙示的api:try セクションとして機能します:
パラメータ
- code:コードパラメータは、選択的に例外をキャッチすることを許容します。すべての例外をキャッチする場合には * 記号を使います。
アトリビュートの制御
- _code:キャッチされた例外のコード。
- _desc:キャッチされた例外の短い説明。
- _details:例外のより詳細な説明。
サンプル
例外をスローしキャッチする。
api:call の中で、APIException が投げられ、キャッチされます。キーワードのスコープ内で、rsb エンコードおよびrsb メッセージアトリビュートが、現在のアイテムに足され、はき出されます。
<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="*">
An exception occurred. Code: [_code], Message: [_desc]
</api:catch>