To com uma duvida, na hora do metodo depositar na hora de usar o throw new ValorInvalidoException, passo o valor como paramentro, e no construtor também passou, mais o certo não aparecer uma mensagem? tipo string? eu fiz de um outro jeito, ve se esta exato e se é uma maneira correta de se usar.
fiz minha classe
public class QuantidadeInvalidaException extends Exception{
private String texto;
public QuantidadeInvalidaException(String texto){
this.texto = texto;
}
public String toString(){
return "Erro valor negativooo";
}
}
Nela coloquei um atributo do tipo String, e passei como paramentro, e fiz um metodo String dentro da classe, dando a mensagem que o valor é negativo.
na classe Conta fico assim.
public void depositar(double quantidade)throws QuantidadeInvalidaException{
if(quantidade <0){
throw new QuantidadeInvalidaException(toString());
}else{
this.saldo += quantidade;
}
}
Lancei uma nova exceção na frente da assinutara do metodo e, passei como parametro no throw new QuantidadeInvalidaExcpeiton o método toString criado na classe do tratamento de erro.
no main meu código fico assim
try{
cp.depositar(-100);
}catch(QuantidadeInvalidaException e){
System.out.println(e);
}
}
E ocorreu perfeitamento a mensagem. Essa é uma maneira certa?