🟢
ChatGPT intermediate

Estratégias de error handling em Node.js

Prompt gerado automaticamente para Error handling em Node.js

2 usos Node.js

Prompt completo

"Você é um engenheiro de software Node.js sênior com vasta experiência em sistemas de alta disponibilidade. O time de desenvolvimento júnior tem tido problemas frequentes com *unhandled promise rejections* e *uncaught exceptions* em um novo microsserviço de processamento de pagamentos. Eles implementaram um *middleware* básico de erro, mas ele apenas loga o erro e retorna um status 500 genérico, sem contexto.

Crie um guia detalhado e prático (em formato de *markdown* com blocos de código) para o time, abordando as melhores práticas de tratamento de erros no Node.js, especificamente para um ambiente de produção. O guia deve cobrir:

1.  **Captura e Tratamento de `unhandledRejection` e `uncaughtException`:** Explique a diferença entre eles, por que é crucial capturá-los em nível de processo e como fazer isso de forma robusta (com exemplos de código para `process.on`). Inclua a discussão sobre a necessidade de *graceful shutdown*.
2.  **Erros Síncronos vs. Assíncronos (Promises/Async/Await):** Demonstre como lidar com erros em código síncrono (`try...catch`) e, mais importante, como garantir que *promises* sejam sempre tratadas (`.catch()`, `try...catch` com `await`).
3.  **Criação de Erros Personalizados (Custom Errors):** Explique a vantagem de criar classes de erro personalizadas (ex: `PaymentProcessorError`, `ValidationError`) que estendem `Error` para fornecer contexto e metadados adicionais (código de erro, mensagem amigável para o cliente, detalhes técnicos para o log). Forneça um exemplo de implementação.
4.  **Middleware de Erro Avançado (Express/Koa - exemplo com Express):** Como construir um *middleware* de erro que não apenas loga, mas também diferencia o tipo de erro (ex: erro operacional vs. erro de programação), formata a resposta JSON para o cliente (escondendo detalhes sensíveis em produção), e integra com um sistema de monitoramento de erros (ex: Sentry/New Relic – apenas mencione a integração, sem código específico).
5.  **Estratégias de Logging de Erros:** Discuta

Tags relacionadas

Node.js Error handling gerado-automaticamente

Como usar este prompt

1

Clique no botão "Copiar" para copiar o prompt para sua área de transferência

2

Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)

3

Cole o prompt e adapte conforme necessário para seu contexto específico