なんだかGoodVibes

日々の勉強メモです。

【Node】uncaughtExceptionイベント

こんにちは。
本日はuncaughtExceptionイベントのサンプルです。


概要

サンプルでは定義されていない関数を呼び出し
例外を発生させます。


コード

process.on('uncaughtException', (err) => {
    console.error(err.message);
    console.log('終了します。');
    process.exit(1);
});

sample();

出力結果は

sample is not defined
終了します。

となります。


uncaughtExceptionイベントは、例外がどこにもキャッチされずに
イベントループに達した際に発行されます。
uncaughtExceptionが発生した場合は、正常な状態ではなくなっていることがあるので
process.exit(1)で終了するのがいいです。


まとめ

基本的にtry-catchで例外は処理できればいいのですが
それでもキャッチできない例外が発生することを考慮して
このような対応を入れておくはいいと思います。
以上。


参考

Process | Node.js v14.3.0 Documentation