Спецификация Java Server Pages 1.2


JSP.10.1.3 TryCatchFinally



Синтаксис


public interface TryCatchFinally


Описание


Интерфейс, в дополнение к Tag, IterationTag или BodyTag, для обработчика тэга, которому нужны дополнительные возможности для обслуживания ресурсов. Этот интерфейс предоставляет два новых метода: doCatch(Throwable) и doFinally().


Прототип вызова таков:


h = get a Tag(); // получает обработчика тэга, возможно из пула

h.setPageContext(pc); // инициализируется

h.setParent(null);

h.setFoo(“foo”);

// протокол вызова тэга; см. Tag.java

try {
doStartTag()...
....
doEndTag()...
}catch (Throwable t){
// реагирует на условие исключения
h.doCatch(t);

} finally {
// восстанавливает инварианты данных и освобождает вызванные ресурсы
h.doFinally();

}

... другие вызовы, возможно, с новыми setter'ами

...

h.release(); // освобождает долгосрочные ресурсы

JSP.10.1.3.5 Методы


public void doCatch(java.lang.Throwable t)


Вызывается, если возникает Throwable при обсчёте BODY внутри тэга, или любым из следующих методов: Tag.doStartTag(), Tag.doEndTag(), Iteration-Tag.doAfterBody() и BodyTag.doInitBody().


Этот метод вызывается, если Throwable возникает в одном из setter-методов.


Этот метод может вызывать исключение (то же самое или новое), которое будет затем помещено во вложенную цепь. Если исключение возникает, будет вызван doFinally().


Этот метод предназначен для использования в ответ на исключительное условие.


Параметры:


t - Навигация вызываемого исключения по этому тэгу.


Вызывает: Throwable


public void doFinally()


Вызывается во всех случаях после doEndTag() для всех классов, реализующих Tag, IterationTag или BodyTag. Этот метод вызывается, даже если в BODY тэга возникло исключение, или в любом из следующих методов:

Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() и Body-Tag.doInitBody().


Этот метод не вызывается, если Throwable возникает в одном из setter-методов.

Этот метод не должен вызывать Exception.

Этот метод предназначен для обслуживания целостности данных при вызове и акций обслуживания ресурсов.




- Начало -  - Назад -  - Вперед -