【发布时间】:2019-10-31 16:48:43
【问题描述】:
在我的 NodeJS 应用程序中,每当遇到未处理的异常时,我都希望进程退出。
但是,根据 NodeJS 的文档,它似乎默认退出。 所以我的问题是 - 我的代码中应该有这样的东西吗?
process
.on('uncaughtException', (err) => {
log.error('uncaughtException:', err.message);
log.error(err.stack);
process.exit(1);
});
或者我应该将process.exit(1) 部分排除在外,因为它不需要吗?
【问题讨论】:
-
不,如果添加此处理程序,则必须以
process.exit(1)结束它,否则您的进程将不会终止(如您所愿)。 -
顺便说一句,您的整个问题 - 您可以简单地尝试一下,看看会发生什么。
-
哦,默认情况下 NodeJS 退出,但是如果我添加这个自定义处理程序,它会覆盖默认行为,所以我必须显式退出?
-
没错。就像我说的那样,您可以轻松地尝试一下(在您的流程某处添加一个故意的异常,看看当您省略
exit语句时会发生什么。 -
是的,这是真的.. 感谢您的澄清!如果您愿意,可以将其发布为答案,我会接受!
标签: javascript node.js