Monitorando erros com try catch

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,