Typescript e Node.js para iniciantes: Middleware – Error handler
Bem-vindo ao oitavo artigo da nossa série sobre o uso de Typescript e Node.js para iniciantes. Neste artigo, vamos discutir o uso de um middleware de tratamento de erros, conhecido como Error handler.
Em uma aplicação Node.js, erros podem ocorrer em diferentes partes do código. Um erro pode ser gerado durante a execução de uma rota, ao acessar um banco de dados, ao realizar uma requisição HTTP, entre outras situações. O middleware de Error handler é responsável por capturar esses erros e fornecer uma resposta apropriada para o cliente.
Para adicionar um middleware de Error handler em uma aplicação Node.js, podemos utilizar o seguinte código:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Erro interno do servidor');
});
Neste exemplo, estamos utilizando a função app.use
para adicionar o middleware de Error handler à nossa aplicação. O middleware recebe quatro parâmetros: o erro (err), o objeto de requisição (req), o objeto de resposta (res) e a próxima função do middleware (next).
Dentro do middleware, estamos imprimindo o stack do erro no console e retornando uma resposta com o status 500 (Erro interno do servidor). Isso significa que, caso ocorra um erro não tratado em nossa aplicação, o cliente receberá essa mensagem como resposta.
Além disso, é importante ressaltar que o middleware de Error handler deve ser incluÃdo como o último middleware na lista de middlewares da nossa aplicação. Isso garante que ele será acionado apenas quando nenhum outro middleware conseguir lidar com o erro.
Com o uso do middleware de Error handler, podemos garantir que nossa aplicação Node.js forneça uma resposta adequada em caso de erros não esperados, melhorando a experiência do usuário e ajudando na manutenção e depuração do código da aplicação.
Espero que este artigo tenha sido útil para ajudá-lo a entender o uso do middleware de Error handler em aplicações Node.js. Fique ligado para mais artigos sobre Typescript e Node.js para iniciantes!
Bem didático! Gostei muito