首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Express框架中处理错误的问题

在Express框架中处理错误的问题
EN

Stack Overflow用户
提问于 2021-05-21 15:09:35
回答 1查看 37关注 0票数 3

我目前正在做node.js + express + mongoDB项目。我正在尝试处理无法从数据库接收数据时发生的错误。我通过在控制台中终止mongod进程并在Postman中调用.get来模拟此过程。不幸的是,我没有在Postman中得到一个错误,而是在控制台中得到了未经处理的Promise Rejection。我读了很多关于错误处理的文章,并根据这个指南实现了它:https://expressjs.com/en/guide/error-handling.html。如果有任何关于如何解决这个问题的想法,我将不胜感激。

代码:

打印所有课程:

代码语言:javascript
复制
router.get("/", async (req, res, next) => {
  try {
    const courses = await Course.find().sort("dishName");
    res.send(courses);
  } catch (ex) {
    next(ex);
  }
});

error.js:

代码语言:javascript
复制
module.exports = function (err, res, req, next) {
  res.status(500).send(`500 Error`);
};

index.js

代码语言:javascript
复制
const error = require(`./middleware/error`);

app.use(error);

将app.use (错误)放置为最后一个app.use

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-21 15:35:13

您的代码中有一个小错误。不应更改错误处理函数中reqres参数的顺序。

代码语言:javascript
复制
// Error.js
module.exports = function (err, req, res, next) {
  res.status(500).send(`500 Error`);
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67632301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档