error-handling - 错误处理ExpressJS和MongoDB

标签 error-handling express mongoose

在ExpressJS和Mongoose中建议的错误处理方式是什么?

app.get('/', function(req, res) {
    Subjects.find({}, function(err, subjects) {
        if (err) {
            return res.json(err);
        }

        res.render('list', {subjects: subjects});
    });
});

我刚刚在json中返回了错误。有什么建议?谢谢

最佳答案

这取决于该错误是什么,但是我通常会通过res.redirect重定向到“错误” URL,其中包含错误的详细信息。

您可以测试错误的详细信息,然后重新运行查询(当然取决于错误的原因),但是通常如果回调引发错误,则是终端,因此请记录日志,重定向并通知用户一个好方法。

(或者,当然,返回JSON并处理您的响应客户端,没有重定向)

编辑

根据保罗的评论-
我并不是要向用户返回有关错误的确切详细信息。
只是“数据库错误”或类似的内容会更合适,具体取决于错误原因。

关于error-handling - 错误处理ExpressJS和MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375689/

相关文章:

php - 在 php 中系统化 web 应用程序的错误代码?

html - 如何使用 Express 和 Kraken.js 的 Makara 模块从 I18N 属性文件中设置 "pull out"样式的 HTML 标签?

javascript - Mongoose 在发布数据后复制条目

javascript - 从 react native 退出上传照片时出现未处理的错误

swift - 从捕获的错误中获取错误描述

c++ - 尝试分配输出以查看指针和引用输出时,未命名类型错误

javascript - 在 Angular 加载后加载 Jade 并解析所有变量

javascript - 返回匹配字段数组的文档

node.js - 即使字段从文档中删除,Mongoose 也会返回字段的默认值

javascript - 尽管给出了字段输入,但 Postman 上的验证错误