首页 > 解决方案 > MySQL 错误/异常使节点 js 服务器崩溃

问题描述

当 MySQL 返回错误/异常时,我的 nodejs 服务器崩溃。

这是我后端的代码。我在查询函数中使用了 if else,然后我得到了响应,但我的服务器崩溃了。尝试并抓住它仍然崩溃,我没有得到任何回应。

Rezervacija.create = function (newEmp, result) {
try{
  konekcija.query("INSERT INTO rezervacija set ?", newEmp, function (err, res) {
  
  console.log(res.insertId);
  result(null, res.insertId);

});
}
catch(err){
  result(err, null);
  console.log("Error",err);
}
};

我试过,试着抓住,但它似乎不起作用,也许我用错了?我对JS真的很陌生,还在学习。

我看到的唯一解决方案是捕获错误,以免服务器崩溃。

提前致谢。

标签: javascriptmysqlnode.js

解决方案


我从未使用过带有节点的mysql,但官方示例和您的示例之间存在差异。

connection.query('INSERT INTO posts SET ?', {title: 'test'}, function (error, results, fields) {
  if (error) {
    throw error;
  }
  console.log(results.insertId);
});

对我来说,每次使用回调函数时,都必须先处理错误,然后再调用函数时,也必须处理错误。

作为你的例子,你可以试试这个:

Rezervacija.create = function (newEmp, result) {
    konekcija.query("INSERT INTO rezervacija set ?", newEmp, function (err, res) {
        if (err) {
            throw err;
        }
        
        console.log(res.insertId);
        result(null, res.insertId);
    });
};

Ps - 因为我是斯拉夫人,所以我理解你的变量,但如果你在代码中使用英文作为变量、函数等的名称会更好。


推荐阅读