Skip to content

Node.js CLIアプリ エラーハンドリングについて #1308

Answered by azu
m048tn asked this question in 質問
Discussion options

You must be logged in to vote

現実的な挙動的にはあってもなくても特に違いはないですね。
process.exit() はプロセスを強制的に終了してしまうので。
https://nodejs.org/api/process.html#process_process_exit_code

ただ、コードチェックをするツールやエディタなどが process.exit を認識できていない場合、
関数がそこで終了するかが認識できないので、補助的に return を入れることがありますね。
実際にこの状況で return を入れるか入れないかは好みの問題だと思います。

こういう感じでリファクタリングをしてprocess.exit を移動した場合でも変更しなくて済むという話もあるかもしれないですね。

const program = require("commander");
const fs = require("fs");
const run = (filePath) => {
  return new Promise((resolve, reject) => {
    // ファイルを非同期で読み込む
    fs.readFile(filePath, { encoding: "utf8" }, (err, file) => {
      if (err) {
          reject(err);
          return;
      }
      resolve(file);
    });
  });
};

program.parse(process.argv);
const file…

Replies: 2 comments

Comment options

You must be logged in to vote
0 replies
Answer selected by azu
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
質問
Labels
None yet
2 participants
Converted from issue

This discussion was converted from issue #1190 on May 03, 2021 10:49.