No Node.js, quando ocorre um erro em uma função de retorno de chamada, todo o processo trava, afetando a execução do código subsequente.
O Node.js lida dessa maneira porque, quando ocorre um erro não capturado, o status do processo é incerto. Não funcionará corretamente depois disso. Se o erro nunca for processado, erros inesperados serão lançados, o que não é propício à depuração.
Existem duas maneiras principais de impedir o bloqueio de processos causado por erros:
1. Try-capath
O Try-Catch permite a captura de exceção e permite que o código continue a execução:
Por exemplo:
Quando a função lança um erro, o código para de executar:
(function () {var a = 0; a (); console.log ("obtenha aqui."); // não executado}) ();Depois de usar o Try-Catch para processamento de erros, o código ainda pode ser executado:
(function () {var a = 0; try {a ();} catch (e) {console.log (e);} console.log ("Get aqui."); //, chegue aqui.}) ();Try-Catch não pode capturar erros futuros de função de execução
É impossível capturar erros lançados por funções que são executadas apenas no futuro. Isso lançará uma exceção não capturada diretamente, e o bloco de código de captura nunca será executado:
tente {setTimeout (function () {tire novo erro ("aqui");}, 10);} catch (e) {console.log (e);}É por isso que no Node.js, os brotos de feijão são tratados corretamente em cada etapa.
Adicione o manipulador de UncatchException
Se um processador de UncatchException for adicionado, o processo não sairá quando a função lançar um erro.
process.on ("UncatchException", function (e) {console.log (e); process.exit (1);});O exposto acima é o método de impedir o bloqueio do processo no Node.js causado por erros introduzidos a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!