The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Web мастеру, CGI, Perl, PHP, Apache" / Оглавление документа

javax.servlet.jsp.tagext
Интерфейс TryCatchFinally


public abstract 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();  // освобождение ресурсов длительного пользования
 


Метод. Резюме.
 void doCatch (java.lang.Throwable t)
          Вызывается. если возникает Throwable в процессе обсчёта BODY внутри тэга или в любом из следующих методов: Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() и BodyTag.doInitBody().
 void doFinally ()
          Всегда вызывается после doEndTag() для любого класса, реализующего Tag, IterationTag или BodyTag.
 

Метод. Детали.

doCatch

public void doCatch(java.lang.Throwable t)
             throws java.lang.Throwable
Вызывается. если возникает Throwable в процессе обсчёта BODY внутри тэга или в любом из следующих методов: Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() и BodyTag.doInitBody().

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

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

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

Параметры:
t - отлавливаемое исключение, перемещающееся по данному тэгу.

doFinally

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

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

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

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


 




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру