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 © 2019 Eclipse Foundation.
Use is subject to license terms.