Não entendi muito bem o retorno do método getMessage. Como exemplo o código:
catch (Exception e){
logger.error(e.getMessage());
}
Qual o retorno que é printado no log no caso de cair no catch?
Não entendi muito bem o retorno do método getMessage. Como exemplo o código:
catch (Exception e){
logger.error(e.getMessage());
}
Qual o retorno que é printado no log no caso de cair no catch?
Oi Lucas, tudo bom?
Esse método getMessage
retorna uma menssagem mais detalhada do seu problema.
A gente até consegue passar essa menssagem quando jogamos a exception, algo como:
throw new Exception("O motivo do erro vem aqui, normalmente");
Quando cair no console, além de imprimir o stack trace, será imprimida a menssagem "O motivo do erro vem aqui, normalmente".
Espero ter ajudado.
Abraço!
Primeiramente muito obrigado pela resposta André!
Então o getMessage sempre vai retornar o stacktrace?
public void doEvent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
logger.debug(" Dentro do Try doPost - Classe Controller ");
if (request.getParameter("acao") != null) {
if { .........
.......... } else {
request.setAttribute("error", "Erro ao executar esta URL.");
request.getRequestDispatcher("web/jsp/errorpage.jsp").forward(request, response);
}
} catch (Exception e) {
logger.error(" Erro doPost - Classe Controller " + e.getMessage());
}
Então neste código se a exceção desse qualquer tipo de erro, iria logar como Exception normal, a mensagem e o stacktrace?
Opa, acho que não me expressei bem. Ele imprime o stacktrace quando a exception não é tratada. No seu caso, como estamos pegando a exception ele apenas imprimiria a menssagem mesmo =)
Algumas classes tem uma menssagem padrão já gravada caso você não passe nenhuma.
No seu caso, logaria apenas sua menssagem =)
Abraço!