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

Duvida entre throws e throw

Não entendi muito bem a diferença entre throws na assinatura do método e o throw no else. Alguém que possa me esclarecer? Obrigado.

    public void deposita(double valorDeposito) throws ValorInvalidoException{
        if (valorDeposito>0){
            this.saldo += valorDeposito;
        }else{
            throw new ValorInvalidoException(valorDeposito);
        }        
    }
3 respostas
solução!

Jorge, o throws significa que uma exceção poderá ser lançada por esse método, para quem chamar o método. Quando você faz isso, significa que quem chamar esse método será notificado de que essa exceção poderá ser lançada. Quem chamar, deverá tratá-la ou não, dependendo se ela for do tipo checked ou unchecked.

O throw é o lançamento, de fato, da exceção.

Espero ter ajudado.

Abraço.

O throw permite a sua função continuar a execução quando surge uma excepção, o throws indica que onde a sua função vai ser invocada vai precisar de um try catch, e após ocorrer uma excepção o método termina logo, continuando o fluxo do programa

Muito obrigado Manoel e Sérgio!

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