问题描述
我在 Windows 上使用 VS Code 运行 Node.js。
在检测到错误情况时,除了向控制台写入最终错误消息之外,我如何才能完全停止脚本的执行?
我需要等到确认错误消息已成功显示给用户,然后完全退出脚本的其余部分,而无需在成功的控制台写入后进一步执行代码?
>解决方法
如 nodejs docs 中所述,在不截断输出的情况下退出的安全方法是设置进程 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)
,但您不能确定每个待处理的输出都会显示:某些文本输出可能是异步的。