Por favor, como devo usar o Try/Catch se caso usuário digitar um número errado

Por favor, como devo usar o Try/Catch se caso usuário digitar um número errado ex: (1.2) ou não tiver o usuário lista veja:

“não tem usuário na lista com este número id”

“vc digitou um numero fora do range”

// método pega cliente
	public static Cliente getCliente(Cliente c1) {
		try{
		Cliente c = new Cliente();
		for (Cliente c2 : listaTodosClientes()) {// percorrer lista
			if (c1.getId() == c2.getId()) {// verifica se existe na lista
				c = c2;
			}
	
		}
	
		}
	
		catch(NullPointerException e) {
			System.out.println("Você não digitou um número ID que não há na lista, isto é, não tem este cliente cadastrado até então !!!");
		}
		return c1;
	
		
	}

metodo main


	//getCliente
		Cliente cnovo = new Cliente();
		cnovo.setId(444);
		System.out.println("O CLIENTE ENCONTRADO FOI: " + getCliente(cnovo).getNome());

Você deveria fazer isso no seu ManterService…

fazendo um try catch no momento em que faz a consulta no banco de dados…
e não no getCliente…

exemplo:

ManterClienteService mC = new ManterClienteService();
try{
mC.pesquisar(55);

catch(Exception e) {
     System.out.println("usuario invalido "+e);
}

Não se usa try/catch neste caso.

Obs:

Nunca capture NullPointerException.

[quote=MaiqueL]Não se usa try/catch neste caso.

Obs:

Nunca capture NullPointerException.[/quote]

Exato. Try catch não é para tratar regras de negócios. Sem contar que você diminui a performance do seu sistema.

Hum…

Acho que entendí…

Ou seja, neste caso como posso configurar essas regras de negócio?

abs,
AS :smiley:

Neste caso é menos custoso testar com um if do que usar um try catch!