Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 11 da Aula 6 - Exceções e controle de erros

Não estou conseguindo usar o getmessage, mas a mensagem está aparecendo no console.

class TestaDeposita {
    public static void main (String[] args) {
        Conta cp = new ContaCorrente();
        try{
            cp.deposita(-100);
        } catch (ValorInvalidoException e) {
            System.out.println(e);
        }        
    }
}

Saída no console:

ValorInvalidoException: valor inválido: -100.0

3 respostas
solução!

Oi Guilherme, tudo bem?No seu código, está usando assim mesmo: getmessage ?

Porque o correto seria usar: e.getMessage();

Caso a dúvida ou o problema persista, poderia postar o código completo das classes aqui para podermos responder com mais certeza?

Oi Wanderson,

Acho que vc tem razão, eu estava usando errado.

Mas achei interessante que dando print só em 'e' eu recebo o erro e a mensagem; e quando coloco 'e.getmessage', recebo só a mensagem

System.out.println(e.getmessage) = >valor inválido: -100.0

System.out.println(e) = >ValorInvalidoException: valor inválido: -100.0

Ainda não chegou nesse ponto, mas isso acontece por causa de um metodo chamado toString() presente em todas as classes Java. Aprenderá sobre isso em breve e entenderá bem!Continue estudando! Qualquer dúvida, estamos por aqui!