Executando verificação de segurança...
1

[Node.JS] Como evitar que erros não capturados derrubem seu servidor

Erros ou exceptions lançadas dentro de funções assíncronas (async) ou dentro de timers (setTimeout e setInterval) que não estejam tratados em blocos catch podem acabar encerrando o processo principal de um servidor Node.JS.

Para evitar isto, basta colocar este código em seu arquivo principal:

process.on('uncaughtException', console.error)

Ele irá escutar pelo evento uncaughtException e executar a função fornecida.

Quando houver uma excessão não tratada, a função console.error vai recebê-la e não irá fechar o processo, ao invés disso, irá apenas mostrar o erro no console.

Caso você não queira mostrar o erro no console, ou fazer algo diferente com o erro, basta usar uma função anônima.

process.on('uncaughtException', (err) => {
  // Faça o que quiser com o erro aqui
})
Carregando publicação patrocinada...
1

Outra dica também é usar o Sentry pra capturar esses erros e ter um controle separado sobre eles, assim você tem um ambiente gerenciado pra ficar de olho neles e ter insights da frequência, importância e outros dados relevantes sobre os erros!