【问题标题】:NodeJS + Express: MySQL syntax error thrown but I cannot catch it on try-catchNodeJS + Express:抛出 MySQL 语法错误,但我无法在 try-catch 上捕获它
【发布时间】:2022-06-17 20:13:55
【问题描述】:

我有这个控制器:

//http://127.0.0.1:3000/user
router.get('/', function(req, res) {

  try {
    var result = userDao.findAll();

    res.send('Users home page');
  } catch (err) {
    console.log("I EXPECTED THIS TEXT TO SHOW UP WHEN FORCING A MYSQL SINTAX ERROR");
  }

});

还有userDao 文件上的这个findAll() 函数:

function findAll() {

    con.query("SELECTTTTTT * FROM user WHERE name = ?", ["Anna"], function (err, result) {
        if (err) throw err;

    });
}

正如您在我的查询中看到的,我强制抛出一个错误。所以我期待在我的控制台上看到文本I EXPECTED THIS TEXT TO SHOW UP....,而不是看到错误堆栈跟踪。有什么帮助吗?

【问题讨论】:

  • throw err 发生在 asynchronous 回调函数中,因此无法被 synchronous try-catch 块捕获。

标签: node.js express node-mysql


猜你喜欢
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
相关资源
最近更新 更多