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

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

Gostaria de saber porque nao foi necessario por o Throws ao lado do metodo, fiz dessa forma, ambas tiveram o mesmo resultado, mas gostaria de entender quando é necessario fazer isso e quando nao é.

fiz assim

    public void deposita (double valor)throws IllegalArgumentException {
        if (valor > 0){
            this.saldo += valor ;
            }
        else {
            throw new IllegalArgumentException();
        }

    }
2 respostas
solução!

Oi Jose,

a exceção IllegalArgumentException é unchecked pois ela é uma filha do RuntimeException. Por isso o compilador não te obriga (unchecked) colocar um throws na assinatura do método.

Tudo bem?

abs

Entendi, no caso um extends da Exception seria uma checked e necessitaria disto entao?!

Obrigado