|
Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
| ПРЕДЫДУЩИЙ СЛЕДУЮЩИЙ КЛАСС КЛАССА | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
java.lang.Objectjavax.faces.context.ExceptionHandler
public abstract class ExceptionHandler
ExceptionHandler является центральной точкой для того, чтобы обработать неожиданный
Exceptions, которые бросаются во время жизненного цикла Поверхностей. ExceptionHandler не должен быть уведомлен относительно никого Exceptions, которые происходят во время запуска приложения или завершения работы.
См. документ прозы спецификации для требований для реализации по умолчанию. Exceptions можно передать к ExceptionHandler одним из двух способов:
гарантируя это Exceptions не пойманы, или пойманы и повторно брошены.
Этот подход позволяет ExceptionHandler средство, определенное в разделе JSF.6.2, чтобы работать на Exception.
При использовании средства системного события, чтобы опубликовать ExceptionQueuedEvent это переносится Exception.
Этот подход требует вручную публикации ExceptionQueuedEvent, но позволяет больше информации о Exceptionбыть сохраненным в конечном счете. Следующий код является примером того, как сделать это.
//...
} catch (Exception e) {
FacesContext ctx = FacesContext.getCurrentInstance();
ExceptionQueuedEventContext eventContext = new ExceptionQueuedEventContext(ctx, e);
eventContext.getAttributes().put("key", "value");
ctx.getApplication().publishEvent(ExceptionQueuedEvent.class, eventContext);
}
Поскольку Exception не должен быть повторно брошен при использовании этого подхода, обработка жизненного цикла может продолжаться как нормальный, позволяя больше Exceptions, чтобы быть опубликованным в случае необходимости.
С любым подходом, любым ExceptionQueuedEvent экземпляры, которые публикуются таким образом, доступны для handle() метод, который вызывают в конце каждой фазы жизненного цикла, как определено в разделе JSF.6.2.
Экземпляры этого class являются определяющим контекст запросом и создаются на основании FacesContextFactory#getFacesContext вызов ExceptionHandlerFactory#getExceptionHandler.
| Сводка конструктора | |
|---|---|
ExceptionHandler()
|
|
| Сводка метода | |
|---|---|
abstract ExceptionQueuedEvent |
getHandledExceptionQueuedEvent()
Возвратите первое |
abstract java.lang.Iterable<ExceptionQueuedEvent> |
getHandledExceptionQueuedEvents()
Реализация по умолчанию должна возвратиться |
abstract java.lang.Throwable |
getRootCause(java.lang.Throwable t)
Разверните параметр |
abstract java.lang.Iterable<ExceptionQueuedEvent> |
getUnhandledExceptionQueuedEvents()
Возвратитесь |
abstract void |
handle()
Примите меры, чтобы обработать |
abstract boolean |
isListenerForSource(java.lang.Object source)
Этот метод должен возвратиться true если и только если этот экземпляр слушателя интересуется получением событий от экземпляра, на который ссылаются source параметр. |
abstract void |
processEvent(SystemEvent exceptionQueuedEvent)
Когда вызвано, слушатель может предположить что любые гарантии, данные в javadoc для определенного SystemEvent подкласс является истиной. |
| Методы, наследованные от class java.lang. Объект |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Деталь конструктора |
|---|
public ExceptionHandler()
| Деталь метода |
|---|
public abstract void handle()
throws FacesException
Примите меры, чтобы обработать Exception экземпляры, находящиеся в ExceptionQueuedEvent экземпляры, которые были поставлены в очередь звонками Application().publishEvent(ExceptionQueuedEvent.class, eventContext). Требования реализации по умолчанию детализируются в разделе JSF.6.2.1.
FacesException - если и только если проблема происходит, выполняя алгоритм, чтобы обработать Exception, не как средство передачи обработанного Exception непосредственно.public abstract ExceptionQueuedEvent getHandledExceptionQueuedEvent()
Возвратите первое ExceptionQueuedEvent обработанный этим обработчиком.
public abstract java.lang.Iterable<ExceptionQueuedEvent> getUnhandledExceptionQueuedEvents()
Возвратитесь Iterable по всем ExceptionQueuedEvents, которые еще не были обработаны handle() метод.
public abstract java.lang.Iterable<ExceptionQueuedEvent> getHandledExceptionQueuedEvents()
Реализация по умолчанию должна возвратиться Iterable по всем ExceptionQueuedEvents, которые были обработаны handle() метод.
public abstract void processEvent(SystemEvent exceptionQueuedEvent)
throws AbortProcessingException
Когда вызвано, слушатель может предположить что любые гарантии, данные в javadoc для определенного SystemEvent подкласс является истиной.
processEvent в интерфейсе SystemEventListenerexceptionQueuedEvent - SystemEvent экземпляр, который обрабатывается. AbortProcessingException - если обработка жизненного цикла должна прекратиться для этого запроса.public abstract boolean isListenerForSource(java.lang.Object source)
Этот метод должен возвратиться true если и только если этот экземпляр слушателя интересуется получением событий от экземпляра, на который ссылаются source параметр.
isListenerForSource в интерфейсе SystemEventListenersource - источник, который запрашивает об уместности отправки события к этому экземпляру слушателя.public abstract java.lang.Throwable getRootCause(java.lang.Throwable t)
Разверните параметр t пока разворачивание не встречается с Объектом чей getClass() не равно FacesException.class или javax.el.ELException.class. Если нет никакой первопричины, null возвращается.
java.lang.NullPointerException - если параметр t null.
|
|||||||||
| ПРЕДЫДУЩИЙ СЛЕДУЮЩИЙ КЛАСС КЛАССА | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41