Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Controle de Exceções

Pessoal,

Eu alterei o método transfere da classe Conta e tentei chamar o método saca de dentro do método transfere e o compilador não permitiu. Pergunto se é possivel chamar um método dentro de outro método, todos na mesma classe. Segue o código:

public void saca (double valor) throws Exception {
        if (valor > this.saldo + this.limite) {
            throw new SaldoInsuficienteException(saldo);
        }    
        else {
            this.saldo -= valor;
        }    
    }
    public void transfere (double valor, Conta destino) {
            saca(valor);
            destino.saldo += valor;

    }

O compilador informou o erro:

unhandled exception type exception.

2 respostas
solução!

Oi Sergio,

repare que vc colocou na assinatura do método saca throws Exception:

public void saca (double valor) throws Exception {

Por isso qualquer outro método que chama o método saca é obrigado de fazer um tratamento de erro (try-catch ou throws). Para deixar o seu código compilar, faça tambem um throws Exception método transfere também.

public void transfere (double valor, Conta destino)  throws Exception{

Isso faz que o método tranfere compila, mas o código que chama este método e obrigado de fazer um tratamento.

abs

Oi Nico,

É isso ai cara. Funcionou mesmo. Valeu!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software