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);
}
}