Bom dia! Ismael, como vai?
Pelo que você descreveu, parece que o erro que está recebendo não é o esperado. Vamos verificar algumas possibilidades:
Verifique o Middleware de Erros: Certifique-se de que o middleware de erros está configurado corretamente para capturar e personalizar as mensagens de erro. No seu arquivo manipuladorDeErros.js, você deve ter algo semelhante a:
if (error instanceof NaoEncontrado) {
error.enviarResposta(res);
}
Isso deve garantir que o erro personalizado seja enviado.
Classe de Erro Personalizada: Verifique se a classe NaoEncontrado está configurada corretamente e se está sendo usada no local certo. No seu caso, o construtor deve ser algo como:
class NaoEncontrado extends ErrorBase {
constructor(mensagem = "Autor não encontrado") {
super(mensagem, 404);
}
}
Uso do Middleware: Certifique-se de que o middleware de erro está sendo usado após todas as rotas no seu app.js. O Express processa middlewares na ordem em que são definidos, então ele deve estar no final:
app.use(manipulador404);
app.use(manipuladorDeErros);
Verificação de ID: No seu controlador, quando você não encontra o autor, certifique-se de que está chamando o next() com uma instância do erro NaoEncontrado:
if (!autorResultado) {
next(new NaoEncontrado("Autor não encontrado"));
}
Revise essas etapas e veja se alguma configuração está faltando ou incorreta. Caso essas soluções não resolva o seu problema, peço que compartilhe comigo todo o seu código para eu realizar mais testes.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.