在 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 中如何停止脚本执行,成功向控制台写入错误消息,然后退出脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 上停止 Node.js 并在不停止的情况下注销 [重复]
调试 node.js 脚本时,VSCode 在“async_hooks.js”上的不可见断点处停止