Javascript 如何找到mysql node.js中抛出的错误的确切名称
我正在用node.js(express)和mysql felix构建一个服务器 我的问题是,有时我有一个查询,将返回一个重复的错误 我已经尽了全力试图抓住这个错误,但运气不好,程序崩溃了 这是我的代码:Javascript 如何找到mysql node.js中抛出的错误的确切名称,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我正在用node.js(express)和mysql felix构建一个服务器 我的问题是,有时我有一个查询,将返回一个重复的错误 我已经尽了全力试图抓住这个错误,但运气不好,程序崩溃了 这是我的代码: this.addReservation = function(req, res, next) { var json = JSON.parse(req.body['reservation']); var post = {user1: json.player1, user2
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();})代码>也没有帮助
我试着把这条线放在其他地方,但还是没用
在我的控制台中抛出的错误是:错误:ER\u DUP\u ENTRY
我做错了什么?我是否应该在“错误”以外的内容上使用“开”
唯一帮助我的是:
process.on('uncaughtException', function(err) {
// handle the error safely
console.log(err);
});
但这是非常糟糕的,因为我知道错误的原因,我希望处理它,所以这对我来说是一个非常糟糕的解决方案
请帮帮我,谢谢。我正在使用mysql felix库。检查连接。查询('USE name_of the_db_of the_not_exist',函数(err,rows){console.log(err.code);//'ER_BAD_db_ERROR');我读过这篇文章,但我仍然不明白为什么我的程序会出错
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){
console.log('exact name of error thrown '+err);
return res.send(500);
}
else
return res.json({res: giveback})
//return res.send(200);
});
};