我正在使用 node.js (express) 和 mysql felix 构建服务器。
我的问题是有时我有一个会返回重复错误的查询。
我已经尝试了所有方法来尝试在没有运气的情况下捕获此错误,程序崩溃了。
这是我的代码:
this.addReservation = function(req, res, next) {
var json = JSON.parse(req.body['reservation']);
var post = {user1: json.player1, user2: json.player2, courtId: json.id, hour: json.hour, date: json.date};
var giveback = {u1_first: req.user.firstName, u1_last: req.user.lastName, user1: json.player1, user2: json.player2};
connection.query('insert into ordering set ?', post, function(err, result){
if (err){
throw err;
return res.send(500);
}
else
return res.json({res: giveback})
//return res.send(200);
});
};
现在我尝试用 try and catch 包装这个查询。没有帮助。
我试图输入这一行:
connection.on('error', function() {console.log();});
也没有帮助。
我试着把这条线放在其他地方仍然没有帮助。
在我的控制台中抛出的错误是:Error: ER_DUP_ENTRY
。
我究竟做错了什么?我应该在不同于“错误”的东西上使用“开”吗?
唯一对我有帮助的是:
process.on('uncaughtException', function(err) {
// handle the error safely
console.log(err);
});
但这非常糟糕,因为我知道造成的错误并且我希望处理它,所以这对我来说是一个非常糟糕的解决方案。
请帮助我,谢谢。我正在使用 mysql felix 库。