javascript – 在后续ORM查询语句中处理错误的哪里?

前端之家收集整理的这篇文章主要介绍了javascript – 在后续ORM查询语句中处理错误的哪里?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Node / Express中使用Sequelize ORM.

我有两个表,用户和项目. Item具有与UserId相关联的外键.

当我尝试创建一个UserId无效的Item(不存在于Users表中)时,会抛出一个“SequelizeForeignKeyConstraintError”并导致未处理的应用程序崩溃.

我的问题是这样的:

我在哪里处理错误

这是我的代码

.post(function(req,res){
        models.Item.create({
            title : req.body.title,UserId : req.body.UserId
        }).then(function(item){
            res.json({
                "Message" : "Created item.","Item" : item
            });
        });
    });

解决方法

如果要处理特定错误,请附加一个.catch处理程序
models.Item.create({
  title : req.body.title,UserId : req.body.UserId
}).then(function(item){
  res.json({
    "Message" : "Created item.","Item" : item
  });
}).catch(function (err) {
  // handle error;
});

如果你想更普遍地处理错误(即显示一个很好的错误消息,而不是杀死你的服务器,你可能想看看unhandledexception

https://nodejs.org/api/process.html#process_event_uncaughtexception

如果您使用express,它还包含一些错误处理设施http://expressjs.com/en/guide/error-handling.html

猜你在找的JavaScript相关文章