Salve povo !
Até recentemente tenho usado muito as Exceptions para retornar erros entre as camadas das aplicações. Para mim aquilo estava ok, porém, lendo o livro Pragmatic Programmer há um tópico que diz: “use Exceptions para exceções. Nos demais casos retorne um erro normal”. Não estou certo de quão bem funcionaria isto, uma vez que a aplicação tem camadas e por este motivo eu precisaria ficar fazendo uso de return e avaliando as condições para saber o que aconteceu (se deu certo ou nao)
Rabiscando rapidamente:
[code]public Cliente add(Cliente cli) {
if (!cli.hasName()) {
return ‘Nome inválido’; // tudo bem que aqui não é lugar para validar, mas pula isso =~
}
try {
this.repositorio.salvaAqui(cli);
return cli;
} catch (ConnectionFoobarException coe) {
// conexao FAIL. Isto sim é uma exceção oO'
}
}
// … fim da classe e pá
[/code]
Imaginando assim penso que ficaria uma zona o código, pois caso sucesso recebo um Objeto, do contrário uma string além da “Exception” que possa a ter para tratar possíveis exceções
Alguém que tenha lido o livro ou visto algo sobre poderia discorrer sobre ?
Abraços !