0

我有一个自己的 ExceptionHandler 添加到我的 jsf 2.2 项目中。web.xml

<factory>
    <exception-handler-factory>package.exceptionhandler.MyExceptionHandlerFactory</exception-handler-factory>
</factory>

exceptionHandlerFactory 包含

public ExceptionHandler getExceptionHandler() {
    ExceptionHandler handler = new MyExceptionHandler(parent.getExceptionHandler());
    return handler;
}

并且 ExceptionHandler 包含

 @Override
    public void handle() throws FacesException {
        LOGGER.debug("handle exception...");
    }

我的虚拟转换器每次抛出异常:

@FacesConverter(value = "MyConverter")
public class MyConverter implements Converter {

@Override
public Object getAsObject(final FacesContext context, final UIComponent comp, final String value) {
    throw new RuntimeException("error");
}
//...

但是我自己的异常处理程序不处理异常。为什么?

4

1 回答 1

0

我发现了我的问题。

这不是 jsf 的问题。我在应用程序中有一个 PhaseListener,它只使页面上的一些错误消息可见。但是这个 PhaseListener 处于 INVOKE_APPLICATION 阶段,因此从未执行。

于 2013-10-31T12:18:38.513 回答