在 Node.js 中如何停止脚本执行,成功向控制台写入错误消息,然后退出脚本?

Posted

技术标签:

【中文标题】在 Node.js 中如何停止脚本执行,成功向控制台写入错误消息,然后退出脚本?【英文标题】:In Node.js How can I stop the script execution, successfully write an error message to the console, and then exit the script? 【发布时间】:2021-07-18 02:04:23 【问题描述】:

我在 Windows 上使用 VS Code 运行 Node.js。

在检测到错误情况后,除了将最终错误消息写入控制台之外,我如何才能完全停止脚本的执行?

我需要等到确认错误消息已成功显示给用户,然后完全退出脚本的其余部分,而不进一步执行控制台写入成功后的代码?

【问题讨论】:

将错误信息写入控制台后,您可以通过“process.exit(1)”停止节点进程。进一步看看这个post。 【参考方案1】:

如nodejs docs 中所述,退出 whitout 截断输出的安全方法是设置进程 exitCode,然后抛出未处理的异常:

// How to properly set the exit code while letting
// the process exit gracefully.
if (someConditionNotMet()) 
   console.log('final error message');
   process.exitCode = 1;
   throw new Error('Exit'); // must me NOT handled by a try/catch

否则,如果你想立即退出,你可以直接调用process.exit(1),但你不能确定每一个待处理的输出都会显示:一些文本输出可以是异步的。

【讨论】:

以上是关于在 Node.js 中如何停止脚本执行,成功向控制台写入错误消息,然后退出脚本?的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 脚本正在运行,但它不会停止!

启动 Node.js 控制台时如何运行脚本?

如何在 Ubuntu 上停止 Node.js 并在不停止的情况下注销 [重复]

调试 node.js 脚本时,VSCode 在“async_hooks.js”上的不可见断点处停止

我如何在 Node.js (JavaScript) 中等待? l 需要暂停一段时间

调试时“运行脚本”如何在 VS Code 中为 node.js 应用程序工作?