Consegui testar o erro 404 e está funcionando numa boa.
Mas como faço para simular o erro 500?
E outra coisa, somente com esses dois códigos de erro eu consigo capturar todos os servlets exceptions que podem acontecer? ou é necessário colocar mais alguma configuração?
Dapcapix, como vc fez para testar seu erro 500 no sistema?
Dapcapix
Coloque um erro no seu xhtml.
Exemplo:
Deixando de completar um form, componente com o mesmo id, etc…
Tente ai.
ATEN
Dapcapix, funcionou mesmo a sua sugestão, mas como eu faço para prever um java.sql.SQLException ou outros tipos de exceções gerados pelo sistema???
[]s
Dapcapix
Opa, que bom que funcionou.
Então, eu faço assim:
Não tem uma formula mágica para prever, nunca vi um programa 100% perfeito. Da para a gente tentar descobrir problemas futuros.
Já ouviu falar sobre log4j? Coloque em um ponto do seu sistema (coloco sempre na camada controller). Ai se ocorrer um problema ajuda bastante a solucionar.
Exemplo:
publicvoidatualizar(Notanota){try{notaDAO.salvar(nota);//aquiseocorrerumerroaobuscarosdadoscomohibernate.}catch(Exceptione){logger.warn("Ocorreu um erro ao atualizar a nota: "+nota.getId()+""+nota.getTitulo());logger.warn(e.getMessage());}}
Assim fica mais fácil de rastrear o problema.
Só que esse erro é para o programador, você tem que mostrar uma mensagem mais amigável para o usuário.
No ManagedBean coloque algo do tipo:
FacesMessagefacesMessage=newFacesMessage("Mensagem do erro que quer mostrar para o usuário!");context.addMessage(null,facesMessage);