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
Outros prompts de Node.js
ChatGPT
Guia para deployment strategies em Node.js
Prompt gerado automaticamente para Deployment strategies em Node.js
4 usos
ChatGPT
Guia para deployment strategies em Node.js
Prompt gerado automaticamente para Deployment strategies em Node.js
4 usos
ChatGPT
Estratégias de testing strategies em Node.js
Prompt gerado automaticamente para Testing strategies em Node.js
4 usos