/ / Nodejs traitement des exceptions non capturées - javascript, node.js

Traitement des exceptions non capturées par Nodejs - javascript, node.js

Quelle est la manière préférée de gérer uncaughtexception dans l’application nodejs?

Pour info, je vais avoir un serveur basé sur Express Api nodejs.

Réponses:

0 pour la réponse № 1

Beaucoup de gens font ça

process.on("uncaughtException", function (err) {
console.log(err);
});

C'est mauvais. Lorsqu'une exception non interceptée est générée, vous devez considérer votre application dans un état impur. Vous ne pouvez pas continuer votre programme de manière fiable à ce stade.

Laissez votre application planter, connectez-vous et redémarrez.

process.on("uncaughtException", function (err) {
console.error((new Date).toUTCString() + " uncaughtException:", err.message);
console.error(err.stack);
// Send the error log to your email
sendMail(err);
process.exit(1);
})

laissez votre application planter en cas d'exception non interceptée et utilisez un outil tel que forever ou upstart pour la redémarrer (presque) instantanément. Vous pouvez envoyer un email pour être au courant de tels événements.


0 pour la réponse № 2

une exception doit faire l'une des deux choses suivantes:

  1. être attrapé et manipulé correctement par le programme
  2. provoquer le programme à se terminer par un échec catastrophique catastrophique

Si vous avez une exception non capturée dont vous essayez de vous débarrasser dans votre programme, vous avez soit un bogue à corriger, soit vous devez intercepter cette exception et la gérer correctement.

code async compliqué, impliquant généralement ungâchis de promesses non organisées désorganisées, est souvent la cause de nombreux problèmes d'exception non capturés - vous devez surveiller de très près le retour des chaînes de promesses

la seule solution permanente consiste à adopter des pratiques modernes de code asynchrone / wait afin de maintenir votre code async maintenable