【发布时间】:2017-10-13 14:42:50
【问题描述】:
假设你有一个看起来像这样的脚本
async function main() {
await somethingThatCanFail()
}
main()
目前以我正在做的非零代码退出
main()
.then(() => console.log('success message and stuff')
.catch(function(err) {
console.error(err)
process.exit(1)
})
因为throw new Error(err) 在承诺中是徒劳的。但是,这感觉有点 hacky,我想知道是否有更标准的方法来做到这一点。
【问题讨论】:
-
process.exit()正是您想要结束进程的方式。根本没有什么“hacky”。您遇到了一个错误,决定要中止该过程并结束该过程。我会认为未捕获的异常更加hacky。 -
我认为这正是您应该做的,直到有一个标志使未处理的拒绝中止该过程。不过你已经可以simulate that了。
-
好的,谢谢@jfriend00 和Bergi
标签: javascript node.js error-handling