TypedQuery<pessoa> consulta = ...
Pessoa pessoa;
try {
pessoa = consulta.getSingleResult();
} catch(Exception e) {
pessoa = null;
}
Este é um exemplo de consulta J2EE EJB3. O método getSingleResult
lança exceção em três casos:
try/catch
pega tudo. Usar null
como resultado pode ser correto para o segundo caso listado acima, mas não é correto para o primeiro e terceiro casos. Em geral, não deve-se capturar mais exceções do que o necessário. O tratamento de exceção correto é o abaixo.TypedQuery<pessoa> consulta = ...
Pessoa pessoa;
try {
pessoa = consulta.getSingleResult();
} catch(NoResultException e) {
pessoa = null;
}