Ajuda! Tratamento de Erros

Galera atualmente no sistema não estou tratando erros e sim estou redirecionando uma pagina, vejam como estou fazendo:

Na minha action faço assim

try{

...codigos

}catch(Exception e){

    return mapping.findForward(ERROR);

}

No struts-config faço assim

<forward name="error" path="/erros/error.jsp"/>

Mais cada vez que cai no ‘catch’ da action ele redireciona para pagina error.jsp que mostra somente uma mensagem “Houve um erro no sistem”, hehehe, muito ruim isso…

Como Faço para cada vez que houver um erro SQL,Servidor e mostre o erro na pagina? Tipo vamos supor que deu um erro no oracle, ai pegar esse erro do banco e mostrar na pagina jsp, como faço isso?

adicione a diretiva isErrorPage.

veja este exemplo:
http://publib.boulder.ibm.com/infocenter/ablxhelp/v8r4m0/index.jsp?topic=/com.ibm.db2.abx.dev.doc/abx-t-develop-362.html

Legal o exemplo!!

Acredito que possa usar o e.printStackTrace(); no lugar do exception.toString() ; ??!! Não testei mais em breve estarei fazendo isso.

Diogo, a ideia seria pegar o erro que vai para o console e mostrar em uma JSP de erro, e o que mostra no exemplo que o Marcelo postou.

o struts tem uma tag para tratar erros ex.:

errorMessages.add(ActionMessages.GLOBAL_MESSAGE, 
                                  new ActionMessage("chave", sqlExcp.getMessage()));
                this.saveErrors(request,
                                errorMessages);

ele usa um arquivo properties, onde fica as chave da mensagem e pode receber parametros essas mensagem, ai vc passa a excessaõ como parametro e assim ele vai gerar um erro e no jsp tem q usa uma tag e exibirá essas mensagem de erro, to falando de forma superficial mas em qq livro de struts vc encontra bem detalhado esse recurso

Isso de mostrar a exceção na tela, é apenas a nível de desenvolvimento né?

Você não vai deixar o usuário ver desta forma não vai?

Porque não trata o erro direitinho ao invés de colocar um “catch(Exception e)” captura realmente as exceções que podem ocorrer e exibe de uma forma mais amigável ( erro nunca é amigável mas tudo bem ).

Deixa pra exibir o stackTrace na console mesmo.

try{
}catch(SqlException e){
   // redireciona para a página de erro com uma mensagem específica.
}catch(OutraExcecaoException e){
   // redireciona para a página de erro com uma mensagem específica.
}
...

[]´s