我非常清楚使用 uncaughtException
的问题在我的代码中。我也知道 domains
模块已被弃用,所以我不想使用它。我的问题是当我遇到不应该发生的错误时该怎么办。例如,如果使用 mongo db 和 mongoose,则给出以下代码示例:
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err) {
console.log(err);
} else {
console.log('meow');
}
});
这里有,我认为是一个莫名其妙的错误。它被捕获,但仅使用 console.log 来记录错误。显然,要通知用户存在问题,还需要做更多的事情,但我想知道应用程序的其余部分会发生什么。
它应该关闭吗?应该发生其他事情吗?我有很多情况可以捕捉到这样的错误,但如果它们发生,它们代表一些非常奇怪的情况,比如数据库失败,或者来自另一个库的其他东西无缘无故地失败,并且
最佳答案
我建议您向您的应用程序返回一个 json,以显示操作结果。例子:
if(err) {
res.status(500).json({saved: false, errormsg: 'Cannot save to database'});
} else {
res.json({saved: true, errormsg: null});
}
处理您的应用程序中的响应并向用户显示发生了一些不好的想法。
关于node.js - 如何处理没有理由抛出的已知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068669/