public interface TryCatchFinally
このインターフェースは、doCatch(Throwable)と doFinally() の 2 つの新しいメソッドを提供します。典型的な呼び出しは次のとおりです。
h = get a Tag(); // get a tag handler, perhaps from pool h.setPageContext(pc); // initialize as desired h.setParent(null); h.setFoo("foo"); // tag invocation protocol; see Tag.java try { doStartTag()... .... doEndTag()... } catch (Throwable t) { // react to exceptional condition h.doCatch(t); } finally { // restore data invariants and release per-invocation resources h.doFinally(); } ... other invocations perhaps with some new setters ... h.release(); // release long-term resources
修飾子と型 | メソッドと説明 |
---|---|
void | doCatch(ThrowableSE t) タグ内または以下のメソッドのいずれかで BODY を評価しているときに Throwable が発生した場合に呼び出されます: Tag.doStartTag()、Tag.doEndTag()、IterationTag.doAfterBody() および BodyTag.doInitBody()。 |
void | doFinally() タグ、IterationTag、BodyTag を実装するクラスに対して、doEndTag() の後にすべてのケースで呼び出されます。 |
void doCatch(ThrowableSE t) throws ThrowableSE
Throwable が setter メソッドの 1 つ中に発生した場合、このメソッドは呼び出されません。
このメソッドは、ネストチェーンの上位に伝搬される例外(同じまたは新しいもの)をスローする場合があります。例外がスローされると、doFinally() が呼び出されます。
このメソッドは、例外的な状態に応答するために使用することを目的としています。
t
- このタグをナビゲートするスロー可能な例外。ThrowableSE
- 例外がネストチェーンのさらに上に再スローされる場合。void doFinally()
Throwable が setter メソッドの 1 つ中に発生した場合、このメソッドは呼び出されません。
このメソッドは例外をスローするべきではありません。
このメソッドは、呼び出しごとのデータ整合性とリソース管理アクションを維持することを目的としています。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.