Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ СЛЕДУЮЩИЙ КЛАСС КЛАССА | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
java.lang.Object javax.faces.context.ExceptionHandler
public abstract class ExceptionHandler
ExceptionHandler является центральной точкой для того, чтобы обработать неожиданный
Exception
s, которые бросаются во время жизненного цикла Поверхностей. ExceptionHandler
не должен быть уведомлен относительно никого Exception
s, которые происходят во время запуска приложения или завершения работы.
См. документ прозы спецификации для требований для реализации по умолчанию. Exception
s можно передать к ExceptionHandler
одним из двух способов:
гарантируя это Exception
s не пойманы, или пойманы и повторно брошены.
Этот подход позволяет 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
не должен быть повторно брошен при использовании этого подхода, обработка жизненного цикла может продолжаться как нормальный, позволяя больше Exception
s, чтобы быть опубликованным в случае необходимости.
С любым подходом, любым 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
по всем ExceptionQueuedEvent
s, которые еще не были обработаны handle()
метод.
public abstract java.lang.Iterable<ExceptionQueuedEvent> getHandledExceptionQueuedEvents()
Реализация по умолчанию должна возвратиться Iterable
по всем ExceptionQueuedEvent
s, которые были обработаны handle()
метод.
public abstract void processEvent(SystemEvent exceptionQueuedEvent) throws AbortProcessingException
Когда вызвано, слушатель может предположить что любые гарантии, данные в javadoc для определенного SystemEvent
подкласс является истиной.
processEvent
в интерфейсе SystemEventListener
exceptionQueuedEvent
- SystemEvent
экземпляр, который обрабатывается. AbortProcessingException
- если обработка жизненного цикла должна прекратиться для этого запроса.public abstract boolean isListenerForSource(java.lang.Object source)
Этот метод должен возвратиться true
если и только если этот экземпляр слушателя интересуется получением событий от экземпляра, на который ссылаются source
параметр.
isListenerForSource
в интерфейсе SystemEventListener
source
- источник, который запрашивает об уместности отправки события к этому экземпляру слушателя.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