В node.js, когда ошибка возникает в функции обратного вызова, весь процесс будет сбоем, влияя на выполнение последующего кода.
Node.js обрабатывает это, потому что, когда возникает непредучанная ошибка, статус процесса является неопределенным. После этого это не сработает. Если ошибка никогда не обрабатывается, будут выброшены неожиданные ошибки, что не способствует отладке.
Есть два основных способа предотвращения блокировки процессов, вызванных ошибками:
1. Попробуйте
try-catch позволяет захватить исключение и позволяет коду продолжать выполнять:
Например:
Когда функция бросает ошибку, код прекращает выполнение:
(function () {var a = 0; a (); console.log ("Get Here."); // не выполнено}) ();После использования Try-Catch для обработки ошибок код все еще может быть выполнен:
(function () {var a = 0; try {a ();} catch (e) {console.log (e);} console.log ("Get здесь."); // Get здесь.}) ();Try-Catch не может уловить ошибки функции выполнения в будущем
Невозможно захватить ошибки, брошенные функциями, которые выполняются только в будущем. Это вызовет непосредственное исключение, и блок кода подъема никогда не будет выполнен:
try {settimeout (function () {Throw New Error ("здесь");}, 10);} catch (e) {console.log (e);}Вот почему в node.js ростки бобов правильно обрабатываются на каждом шаге.
Добавить обработчик UncatchException
Если добавлен процессор UncatchException, процесс не выходит, когда функция бросает ошибку.
process.on ("uncatchException", function (e) {console.log (e); process.exit (1);});Выше приведено метод предотвращения блокировки процесса в node.js, вызванном ошибками, введенными вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!