Поскольку вы используете, вероятно, JSF1.2, а не JSF2, вы можете использовать FaceletViewHandler
для обработки исключений.
public class CustomViewHandler extends FaceletViewHandler {
...
@Override
protected void handleRenderException(FacesContext context, Exception ex) throws IOException, ELException,
FacesException {
try {
..
getSessionMap().put("GLOBAL_ERROR", ex);
getHttpResponseObject().sendRedirect("/error.jsf");
} catch (IOException e) {
log.fatal("Couldn't redirect to error page", e);
}
}
}
конечно, вам нужно обработать его в bean-компоненте, просто извлеките исключение из сеанса:
Throwable ex = (Exception) getSessionMap().remove("GLOBAL_ERROR");