Ola!
Ontem estava lah eu escrevendo minha DAO quando parei pra pensar…
Oque acontece quando nenhum resultado eh encontrado e o Hibernate retorna um List vazio. Sera que eu devo lancar uma Excessao do tipo checked… algo como ObjectNotFoundException?
Acabei fazendo deste jeito…
public List<T> list(Filter filter) throws ObjectNotFoundException{
//CODE...
}
Quais sao as melhores praticas em relacao a Excessoes? Devo lanca-las em casos como este ou naum!?
Boa noite nicoweda, não sei se te ajuda muito, mas onde eu trabalho normalmente criamos um tipo de exceção para o DAO por exemplo
PessoaDAO eu teria uma exception criada por mim chamada de DataAccessObject que refere-se a acesso a base de dados, logo quando retorna-se 0 pessoas eu lançaria uma exceção dizendo que nenhuma Pessoa foi encontrada…
e em relação se deve lançar ou não, eu lançaria porque mandaria esta msg para minha view mostrando que não tem nenhuma pessoa.
[]'s
Uma coleção vazia é uma coleção válida. Usar um filtro e encontrar zero elementos nas condições do filtro é normal.
Se isso é normal, não é excepcional e portanto não se deve lançar nenhuma exceção. Aconteceria uma exceção se o codigo não conseguir determinar quais os elementos da lista, porque , por exemplo, não consegui acessar o banco ou o objeto Filter tem problemas (Por exemplo, se o filtro compara com um objecto template e o objecto é null)