【发布时间】: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