In Node.js stürzt der gesamte Vorgang, wenn ein Fehler in einer Rückruffunktion auftritt, die Ausführung des nachfolgenden Codes aus.
Node.js behandelt auf diese Weise, denn wenn ein ungewöhnlicher Fehler auftritt, ist der Status des Prozesses ungewiss. Danach wird es nicht richtig funktionieren. Wenn der Fehler nie verarbeitet wird, werden unerwartete Fehler geworfen, was dem Debuggen nicht förderlich ist.
Es gibt zwei Hauptmethoden, um eine durch Fehler verursachte Prozessblockierung zu verhindern:
1. Versuch
Mit Try-Catch ermöglicht der Code die Ausführung fort und ermöglicht die Ausführung:
Zum Beispiel:
Wenn die Funktion einen Fehler auslöst, wird der Code nicht mehr ausgeführt:
(function () {var a = 0; a (); console.log ("hierher kommen."); // nicht ausgeführt}) ();Nach der Verwendung von Try-Catch zur Fehlerverarbeitung kann der Code weiterhin ausgeführt werden:
(function () {var a = 0; try {a ();} catch (e) {console.log (e);} console.log ("hierher kommen"); // hier.}) ();Try-Catch kann zukünftige Funktionsfunktionen für Ausführungsfunktionen nicht erfassen
Es ist unmöglich, Fehler zu erfassen, die von Funktionen geworfen werden, die nur in Zukunft ausgeführt werden. Dadurch wird eine ungewöhnliche Ausnahme direkt ausgelegt, und der Catch -Code -Block wird niemals ausgeführt:
try {setTimeout (function () {Neuen Fehler werfen ("hier");}, 10);} catch (e) {console.log (e);}Aus diesem Grund werden in Node.js die Bohnensprossen bei jedem Schritt korrekt behandelt.
Fügen Sie UncatchException -Handler hinzu
Wenn ein UncatchExceptionsprozessor hinzugefügt wird, wird der Prozess nicht beendet, wenn die Funktion einen Fehler auslöst.
process.on ("uncatchException", function (e) {console.log (e); process.exit (1);});Die oben genannte Methode zur Verhinderung der Prozessblockierung in Node.js, die durch Fehler, die Ihnen vom Editor vorgelegt wurden, verursacht werden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!