0

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とcatchでラップしようとしました. 役に立ちませんでした。

私はこの行を入力しようとしました:

connection.on('error', function() {console.log();});どちらも助けませんでした。

この行を他の場所に配置しようとしましたが、まだ役に立ちません。

コンソールにスローされるエラーは次のとおりError: ER_DUP_ENTRYです。

私は何を間違っていますか?「エラー」とは異なるものに「オン」を使用する必要がありますか?

私を助けた唯一のことは:

process.on('uncaughtException', function(err) {
    // handle the error safely
    console.log(err);
});

しかし、私は原因となるエラーを知っており、それに対処したいので、これは非常に悪い解決策です。

助けてくださいありがとう。私はmysqlフェリックスライブラリを使用しています。

4

1 に答える 1

1
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);            
  });   
};
于 2013-08-23T09:00:39.177 に答える