Em termos de segurança e de usabilidade, é ruim mostrar o stack trace para o usuário. É melhor ter uma mensagem e um código numérico:
E123.456 - A rebimboca da parafuseta explodiu. Favor tentar mais tarde.
onde esse código numérico pode ser consultado em um manual do suporte, para que possa ser tomada alguma providência.
Uma coisa que se faz muito é incluir esse “stack trace” em um comentário na página HTML, e se for necessário pedir ao usuário do seu piloto “encarecidamente” mandar o “view source” por email para você. Continua sendo falha de segurança, mas pelo menos você não fica “na roça” se houver algum problema.
the_negao
Você (thingol) ou alguém teria algum material para estudo ou exemplo de como efetuar esse tratamento de erros?
Porque sempre efetuo no catch(… ex){throw ex}
Daí eu faço esse tratamento no bloco do catch ou no próprio JSP ou tem outra forma?
Pode parecer perguntas idiotas, mas é que ainda estou em aprendizagem…
Ah! Um exemplo de tratamento de erro: Como informar ao usuário que o SGBD está inativo ou a senha do BD não está sendo validada, porque em ambas exceptions lançadas são sempre [color=darkred]org.hibernate.exception.GenericJDBCException: Cannot open connection?[/color]
Ps.: Eu utilizo Struts + Hibernate
Pedrosa
Uma coisa não tão sofisticada como a solução do thingol, porém eficiente.
No web xml configure redirecione para uma pagina de erro: