failure
failure タグを使用すると、ユニット (unit) 内での失敗処理のためのコードを指定できます。ユニット (unit) のボディが正常に完了しなかった場合にのみ、failure 開始タグと終了タグの間のコードが実行されます。ユニット (unit) には複数の failure タグブロックを指定できます。
• 一般的な失敗処理を指定するには、属性なしで failure タグを指定します。
• 特定の例外を処理するコードを指定するには、exception 属性に例外の名前を入力して failure タグを指定します。
ユニット (unit) のボディ内で発生したエラーを処理するための failure タグブロックを指定しないと、失敗処理が行われず、unit 終了タグに続いてページの処理が続行されます。
このタグは unit タグブロックにネストします。特定のエラーに対して失敗コードを指定するには、複数の failure タグブロックを指定します。各 failure タグで exception 属性に特定のエラーを指定できます。このタグブロックには複数の webject、task、unit、および parallel タグをネストできます。
failure タグブロック内の例外を管理するには、
Throw-Exception Webject を指定します。この Webject を指定するのは、
failure タグによって検出された例外を伝える (再び発生させる) ためです。ブロック内に以下のコードを追加できます。
<ie:webject name="Throw-Exception" type="MGT"/>
この Webject を指定すると、検出された例外が再び発生します。unit ブロックがネストされている場合や、unit ブロック内で検出された例外をページ上に渡す場合は、例外を再び発生させると役立ちます。
例外が failure タグブロック内で発生すると、その例外は unit ブロックの外に伝えられます。
unit、init、success、および failure タグブロックにネストされているスクリプトレットが JSP ページ上で処理される方法は、Info*Engine タスクプロセッサ内で処理される方法と異なります。以下のガイドラインに従って、これらのタグにスクリプトレットをネストできるかどうか判断してください。
• スタンドアロンタスクでは、スクリプトレットをタグブロックにネストできます。
• JSP ページでは、スクリプトレットをタグブロックにネストしないでください。代わりに、スクリプトレットが含まれているスタンドアロンタスクを作成してください。Info*Engine の task タグを使用して、JSP ページからこれらのタスクを実行できます。
スクリプトレットの詳細については、
スクリプトレットを参照してください。
|
埋め込み HTML は、JSP の failure タグ内では使用できません。
|
構文
<ie:failure exception="exception_name"> . . (webject、task、unit、または parallel タグブロック) .</ie:failure>
属性の説明
exception
例外処理コードへのアクセスを制限するための Java 例外名を指定します。この属性を指定すると、指定した例外が発生した場合にのみ failure ブロックが実行されます。
この属性を省略すると、例外名として java.lang.Exception が使用されます。
例
以下の例は、ページが Info*Engine の core タグライブラリのタグを使用し、タグに ie プリフィックスを使用することを宣言します。以下の failure タグは、ユニット (unit) に対しては一般的なエラー処理を、IENotFoundException 例外に対しては特定のエラー処理を実行します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
<ie:unit>
<ie:failure
exception="com.infoengine.exception.fatal.IENotFoundException">
<!-- specific failure processing for IENotFoundException-->
</ie:failure>
<ie:failure>
<!--Add general failure processing here. -->
</ie:failure>
</ie:unit>