JavaScriptMódulos e Errosintermediario

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

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM008 · BásicoImport * as
Ver todos os exercícios de JavaScript