Pessoal, depois de ler alguns documentos sobre exceção, continuei com algumas dúvidas sobre alguns tratamentos das mesmas:
catch (Exception e) {
LOGGER.error("Erro nos parametros do método xx: " + e.toString());
ou
catch (Exception e) {
LOGGER.error(e.getMessage());}
Nesses dois casos o que é impresso?
O getMessage()
teoricamente te dá a mensagem de erro que foi escrita por quem atirou a exceção.
throw new Exception("mensagem que vai ser retornada pelo getMessage()");
O toString()
varia. É um método que é herdado de Object
e cada implementação pode sobrescrevê-lo da forma que bem entender, desde retornar a mesma coisa do getMessage()
até retornar a stack trace inteira em uma String
.
Geralmente o toString()
tem informações mais detalhadas, como a classe da exceção e suas causas.
Dica: Esse episodio do hipsters.tech aborda esse tema de logging, bem legal! 
1 curtida
Obrigado @lvbarbosa! Eu estava em duvida porque neste exemplo do e.toString() ele imprimia “java.lang.NullPointerException”…
Vou escutar o podcast pra ver se clareia mais minha mente kk, vlw