Dans Node.js, lorsqu'une erreur se produit dans une fonction de rappel, l'ensemble du processus se bloquera, affectant l'exécution du code ultérieur.
Node.js gère de cette façon car lorsqu'une erreur non apprise se produit, l'état du processus est incertain. Cela ne fonctionnera pas correctement après cela. Si l'erreur n'est jamais traitée, des erreurs inattendues seront lancées, ce qui n'est pas propice au débogage.
Il existe deux façons principales de prévenir le blocage des processus causés par les erreurs:
1. Try-capch
TRY-Catch permet une capture d'exception et permet au code de continuer à exécuter:
Par exemple:
Lorsque la fonction lance une erreur, le code cesse d'exécuter:
(function () {var a = 0; a (); console.log ("Get Here."); // non exécuté}) ();Après avoir utilisé le traitement des essais pour le traitement des erreurs, le code peut toujours être exécuté:
(function () {var a = 0; try {a ();} catch (e) {console.log (e);} console.log ("get Here."); // Get Here.}) ();TRY-Catch ne peut pas attraper les futures erreurs de fonction d'exécution
Il est impossible de capturer des erreurs lancées par des fonctions qui ne sont exécutées qu'à l'avenir. Cela lancera directement une exception non revêtue et le bloc de code de capture ne sera jamais exécuté:
try {setTimeout (function () {lance une nouvelle erreur ("ici");}, 10);} catch (e) {console.log (e);}C'est pourquoi dans Node.js, les germes de haricots sont correctement gérés à chaque étape.
Ajouter un gestionnaire UNCATCHException
Si un processeur UncatchException est ajouté, le processus ne sort pas lorsque la fonction lance une erreur.
process.on ("UncatchException", fonction (e) {console.log (e); process.exit (1);});Ce qui précède est la méthode de prévention du blocage des processus dans Node.js causée par les erreurs qui vous sont présentées par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!