node.js - 如何处理没有理由抛出的已知错误

标签 node.js error-handling

我非常清楚使用 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/

相关文章:

django - django错误邮件: html format as debug = ture

sql - Powershell : invoke-sqlcmd catching errors when using -InputFile instead of -Query

javascript - Node.js 需要 Object.prototype 吗?

javascript - 新行在客户端和服务器端如何字符串化?

node.js - 如何创建签名文件以从nodejs服务器在safari中发送网络推送通知

php - 具有PHP Curl的Lightspeed API

php - E_STRICT 有什么作用?

shell - shell VAR = $(command)处理可能的错误

node.js - 上传到 firebase 存储时如何使用 Cloud Functions for FIrebase 获取 mp3 文件的持续时间

javascript - 无法读取未定义的属性 'query',node/mysql