我目前正在做node.js + express + mongoDB项目。我正在尝试处理无法从数据库接收数据时发生的错误。我通过在控制台中终止mongod进程并在Postman中调用.get来模拟此过程。不幸的是,我没有在Postman中得到一个错误,而是在控制台中得到了未经处理的Promise Rejection。我读了很多关于错误处理的文章,并根据这个指南实现了它:https://expressjs.com/en/guide/error-handling.html。如果有任何关于如何解决这个问题的想法,我将不胜感激。
代码:
打印所有课程:
router.get("/", async (req, res, next) => {
try {
const courses = await Course.find().sort("dishName");
res.send(courses);
} catch (ex) {
next(ex);
}
});error.js:
module.exports = function (err, res, req, next) {
res.status(500).send(`500 Error`);
};index.js
const error = require(`./middleware/error`);
app.use(error);将app.use (错误)放置为最后一个app.use
发布于 2021-05-21 15:35:13
您的代码中有一个小错误。不应更改错误处理函数中req和res参数的顺序。
// Error.js
module.exports = function (err, req, res, next) {
res.status(500).send(`500 Error`);
};https://stackoverflow.com/questions/67632301
复制相似问题