Salve guj,
Estou iniciando em JSF e tem uma parte que eu estou enfrentando problemas, é o tratamento de exception.
Como eu fiz (to usando o facelets):
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/erro.jsf</location>
</error-page>
Com isso quando ocorre um erro em algum filtro, ou em alguma “Action” a pagina de erro é exibida.
MAS QUANDO O ERRO É EM UM ActionListener A PÁGINA NÃO É REDIRECIONADA 
É isso mesmo? Não tem alguma maneira de redirecionar de um ActionListener.
Obrigado pela ajuda…
Bom galera achei uma solução aqui bem MEIA-BOCA, mas parece que vai funcionar.
Ao invés de eu usar o <h:commandButton> com “actionListener” eu to usando o a4j:commandButton com “action” já que este a4j:commandButton não renderisa a tela e se tiver alguma exception ele redireciona para pagina de erro.
ALGUEM TEM ALGUMA OUTRA SOLUÇÃO PARA TRATAMENTO DE EXCEPTIONS NO JSF, estou precisando muito disso???
http://www.guj.com.br/posts/list/132345.java#712424
ps: vale a pena pesquisar os tópicos do fórum
[]'s
finotti, valeu pela dica… Eu busquei sim mas é que não é bem isso, acho que eu me expressei mal, vou explicar
essa maneira que tem ai eu ja conhecia no bloco catch(Exception e){} adicionar uma mensagem e exibi-la em um ModalPanel do RichFaces…
o que eu to precisando é… sabe aquela pagina padrão do Tomcat que exibe o stacktrace do erro, quando algum ACTION é executado (e que eu posso redirecionar através do WEB.XML)? então eu queria que esse mesmo procedimento fosse executado quando eu executo um ACTIONLISTENER, assim eu trato várias formas de erro tudo através do WEB.XML.
Eu consegui da seguinte maneira, criei uma classe que extend ActionListenerImpl do JSF
public class MeuAction extends ActionListenerImpl {
public void processAction(ActionEvent event) {
Exception exc = (Exception)getSessionAttribute("erro");
if(exc != null) {
(removeSessionAttribute("erro");
throw new FacesException(exc);
}
super.processAction(event);
}
}
Agora no tratamento de erro eu adiciono o erro na sessão:
public void listener(ActionEvent evt) throws Exception{
try {
throw new RuntimeException("aaa");
} catch (Exception e) {
(setSessionAttribute("erro", e);
}
}
Assim o JSF faz o rederecionamento sozinho pra pagina de erro configurada no WEB.XML na tag
Precisa também adionar esse ActionListener no faces-config.xml assim:
teste.MeuAction
espero ter ajudado alguem que esteja com o mesmo problema.