Olá pessoal,
Minha duvida é a seguinte, eu pesquiso um id de um funcionário pelo seguinte código:
int id = Integer.parseInt(txtID.getText());
Funcionario funcionario = new Funcionario();
funcionario = fjc.findFuncionario(id);
só que se eu colocar um número a mais do cadastrado no banco de dados da um erro no netbeans, ai eu pensei em tratar esse erro, me voltando um JOpitionPane e fiz isso:
[code] int id = Integer.parseInt(txtID.getText());
Funcionario funcionario = new Funcionario();
try {
funcionario = fjc.findFuncionario(id);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não Encontrado", "Erro", JOptionPane.ERROR_MESSAGE);
}[/code]
Porém ele não me volta o aviso falando que o id não foi encontrado, da o erro no netbeans mesmo falando Null Pointer Excepition algo assim, como tratar o erro se não achar o id no banco de dados ?
Obrigado
Pelo jeito o erro está ocorrendo no parseInt e não no try catch, primeiro verifique o q está sendo passado para conversão na linha “int id = Integer.parseInt(txtID.getText());”, se ainda assim precisar tratar esse erro, pode colocar essa linha dentro do bloco try, mas nesse caso o erro não pode ser q o ID não foi encontrado, teria q ser algo como “código inválido”.
Se for esse o caso vc pode colocar um catch para NullPointerException e outro para Exception com mensagens diferentes no mesmo try.
Faça a estrutura e verifique se o erro não é tratado.
Funcionario funcionario = new Funcionario();
try {
int id = Integer.parseInt(txtID.getText());
funcionario = fjc.findFuncionario(id);
}catch(NullPointerException e){
JOptionPane.showMessageDialog(null, "Valor incorreto", "Erro", JOptionPane.ERROR_MESSAGE);
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não Encontrado", "Erro", JOptionPane.ERROR_MESSAGE);
}
O erro NullPointerException ocorre quando você tenta executar uma ação sobre uma variável ou objeto nulo.
Verifique se o objeto “fjc” foi inicializado corretamente.