Global error handler
Em aplicações Node.js em produção, erros inesperados podem derrubar o servidor inteiro se não forem tratados. Um handler global permite registrar esses erros, fazer limpeza de recursos (como fechar conexões de banco ou arquivos) e então encerrar o processo de forma controlada, evitando estados corrompidos.
O PROBLEMA
Implemente handler global para erros não capturados no Node.js.
EXEMPLO
process.on("uncaughtException", (err) => {
console.error("Erro não capturado:", err.message);
process.exit(1);
});SOBRE O CONCEITO
O evento uncaughtException do process captura erros que não foram tratados por nenhum try/catch no código. O erro comum de não fazer cleanup antes de sair é grave: se você apenas loga e chama process.exit(1), recursos como sockets, arquivos abertos ou transações de banco podem ficar inconsistentes. Sempre realize a limpeza necessária antes de encerrar. Note que try/catch local está proibido aqui justamente porque o objetivo é lidar com exceções que escapam de todo o código, enquanto class e loops não são necessários para este padrão.
RESOLUÇÃO