Closed davidsylvestre closed 3 years ago
Acho que nesse caso o que faria mais sentido seria você alterar o tipo de retorno do seu usecase pra ele poder retornar um Model (sucesso) ou um objeto de Error (nem precisa ser uma exception mesmo). No TS você pode fazer isso com o operador pipe |. No seu controller você precisaria checar o tipo de retorno e tomar uma decisão.
Em ter., 27 de out. de 2020 às 09:50, David Sylvestre < notifications@github.com> escreveu:
Estou em dúvida de como tratar corretamente as exceptions que existem nos use-case. Por exemplo, eu tenho o use-case emprestar-livro
Nele eu tenho os seguintes passos: Verificar se livro está disponível -> gera um exception de negócio Verificar se Leitor possui pendencias -> gera um exception de negocio Inserir empréstimo -> pode ocorrer um exception, mas é erro interno
Os exceptions gerados nas duas verificações, são pertinentes ao usuário e seria legal souber da existência deles. Minha dúvida fica em relação ao controller, pois se eu gerar algo no formato abaixo, eu não consigo capturar o erro.
try {
await emprestar-livro(...params)
return noContent() } catch(err) {
return serverError(error) }
Qual seria a abordagem mais correta para essa situação?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rmanguinho/clean-ts-api/issues/29, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDASG4OBKJLLVUYPGUKWVDSM263DANCNFSM4TAY52GQ .
-- Rodrigo Manguinho
Massa, farei algo nesse sentido. Eu estava quase tratando os tipos de erro com um switch case, mas achei que não ficaria legal. Muito obrigado (=
Estou em dúvida de como tratar corretamente as exceptions que existem nos use-case. Por exemplo, eu tenho o use-case
emprestar-livro
Nele eu tenho os seguintes passos: Verificar se livro está disponível -> gera um exception de negócio Verificar se Leitor possui pendencias -> gera um exception de negocio Inserir empréstimo -> pode ocorrer um exception, mas é erro interno
Os exceptions gerados nas duas verificações, são pertinentes ao usuário e seria legal souber da existência deles. Minha dúvida fica em relação ao controller, pois se eu gerar algo no formato abaixo, eu não consigo capturar o erro.
Qual seria a abordagem mais correta para essa situação?