序文
node.jsでは、コールバック関数でエラーが発生すると、プロセス全体がクラッシュし、後続のコードの実行に影響します。
node.jsは、cong打誤差が発生したときにプロセスのステータスが不確実であるため、この方法で処理します。その後は適切に機能しません。エラーが処理されない場合、予期しないエラーがスローされますが、これはデバッグを助長しません。
エラーによって引き起こされるプロセスブロッキングを防ぐための2つの主な方法があります。
1。トライキャッチ
try-catchを使用すると、例外キャプチャが可能になり、コードが実行を継続できます。
例えば:
関数がエラーをスローすると、コードが実行を停止します。
(function(){var a = 0; a(); console.log( "get here。"); // exected})();エラー処理にtry-catchを使用した後、コードはまだ実行できます。
(function(){var a = 0; try {a();} catch(e){console.log(e);} console.log( "get here。"); // get here。})()();Try-Catchは、将来の実行機能エラーをキャッチできません
将来実行される機能によってスローされたエラーをキャプチャすることは不可能です。これにより、無作法な例外が直接スローされ、 catchコードブロックが実行されることはありません。
try {setimeout(function(){throw new error( "here");}、10);} catch(e){console.log(e);}これが、node.jsでは、各ステップで豆の芽が正しく処理される理由です。
UncatchExceptionハンドラーを追加します
uncatchExceptionプロセッサが追加された場合、関数がエラーをスローするときにプロセスが終了しません。
process.on( "uncatchexception"、function(e){console.log(e); process.exit(1);});要約します
上記は、node.jsのエラーによるプロセスブロッキングを防ぐためのすべての方法です。 node.jsを使用しているすべての人に役立つことを願っています。