Pessoal, tentei acompanhar as explicações do vídeo da aula 6 do curso java II, mas está dando um erro que não consigo resolver. Alguém pode me ajudar? Reproduzo abaixo as 3 classes do exercício. Nas classes Conta e TestaConta, nenhum erro. O problema acontece na classe SaldoInsuficienteException, vejam abaixo:
Conta.java
public class Conta { private double saldo; private String titular; private int agencia; private int numero;
public void saca(double valor) throws Exception { if(saldo >= valor) { this.saldo -= valor; } else { throw new SaldoInsuficienteException(saldo); } }
public void deposita(double valor) { this.saldo += valor; }
public double getSaldo() { return saldo; }
}
TestaConta.java
public class TestaConta { public static void main(String[] args) {
Conta joao = new Conta(); joao.deposita(50.0);
try { joao.saca(100.0); } catch(SaldoInsuficienteException e) { System.out.println("Saldo está insuficiente: " + e.getSaldoAtual()); } catch(Exception e) { System.out.println("Um outro erro qualquer!"); }
System.out.println(joao.getSaldo()); }
}
SaldoInsuficienteException.java
public class SaldoInsuficienteException extends RuntimeException {
private final double saldoAtual;
public SaldoInsuficienteException(double SaldoAtual) { Super("Saldo insuficiente: " + saldoAtual); this.saldoAtual = saldoAtual; }
public double getSaldoAtual() { return saldoAtual; }
}
Erros apresentados:
na primeira linha:
Multiple markers at this line - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files - The serializable class SaldoInsuficienteException does not declare a static final serialVersionUID field of type long
na linha de chamada do Super:
The method Super(String) is undefined for the type SaldoInsuficienteException