Caros, boa tarde. Estou tendo uma dificuldade em java, sou iniciante. Preciso realizar isso.
Lançar uma excepção chamada IllegalArgumentException, que já faz parte da biblioteca do Java, sempre que o valor passado como argumento for inválido (por exemplo, quando for negativo).
Abaixo segue o código que estou utilizando.
package testelista;
public class Conta {
int numero;
double saldo;
double limite;
public void sacar(double quantidade) {
this.saldo = this.saldo - quantidade;
}
public void depositar(double valor) {
try {
if (valor < 0)
} catch (IllegalArgumentException ) { //aqui da o erro illegal start of statement
System.out.println("O valor depositado é invaliado");
}
this.saldo += valor;
}
}
O que ta errado? Podem me explicar por favor e mostrar qual a forma correta?
Colega de uma pesquisa nesse link
https://www.caelum.com.br/apostila-java-orientacao-objetos/excecoes-e-controle-de-erros/#11-7-lancando-excecoes
Na apostila da caelum procure o lançamento da exceção e você encontrará a resposta
Olá Adalberto!
Acho que especificamente para o seu exemplo, não vem ao caso o bloco try/catch.
Este código poderia ficar assim:
package testelista;
public class Conta {
int numero;
double saldo;
public void sacar(double valor) throws IllegalArgumentException {
if (valor <= 0) {
throw new IllegalArgumentException("Valor inválido para saque!");
}
if (valor > saldo) {
throw new IllegalArgumentException("Saldo insuficiente!");
}
saldo -= valor;
}
public void depositar(double valor) throws IllegalArgumentException {
if (valor <= 0) {
throw new IllegalArgumentException("Valor inválido para depósito!");
}
saldo += valor;
}
}
Para testar a aplicação, você pode criar um método main() e começar a fazer testes, como o exemplo abaixo:
public static void main(String[] args) {
Conta c1 = new Conta();
c1.depositar(500);
System.out.println("Saldo: " + c1.saldo);
c1.sacar(0);
System.out.println("Saldo: " + c1.saldo);
}
Na verdade o bloco try/catch deve ser escrito dentro do método main() e envolve as chamadas para métodos passíveis de erro.
Abraços!
Carlos, muito obrigado.
Desculpe a demora… correria com faculdade. Ta mó tenso,