Node.jsでエラーコードを伴って終了する方法と原因の分析


  1. 例外処理の追加: アプリケーションのコード内で例外処理を追加することによって、エラーコードを伴って終了する可能性のある箇所を特定しやすくすることができます。try-catch文を使用して、エラーが発生した場合に適切なエラーメッセージと共に処理を行うようにします。
try {
  // エラーが発生する可能性のあるコード
} catch (error) {
  console.error('エラーコード:', error.code);
  console.error('エラーメッセージ:', error.message);
  // エラー処理
  process.exit(1); // エラーコード1で終了
}
  1. デバッグモードの使用: --inspectフラグを使用してNode.jsアプリケーションをデバッグモードで実行することができます。これにより、エラーが発生した箇所を特定しやすくなります。例えば、以下のようにコマンドラインでアプリケーションを起動します。
node --inspect app.js
  1. エラーログの記録: アプリケーションがエラーコードを伴って終了した場合、エラーログを記録することが重要です。これにより、エラーが発生した原因やスタックトレースなどの詳細情報を確認できます。console.errorを使用してエラーログを出力するか、サードパーティのログライブラリを使用することができます。
const fs = require('fs');
const errorLogStream = fs.createWriteStream('error.log', { flags: 'a' });
process.on('uncaughtException', (error) => {
  console.error('エラーコード:', error.code);
  console.error('エラーメッセージ:', error.message);
  // エラーログに書き込む
  errorLogStream.write(`エラーコード: ${error.code}\n`);
  errorLogStream.write(`エラーメッセージ: ${error.message}\n`);
  errorLogStream.end();
  process.exit(1); // エラーコード1で終了
});