【问题标题】:server error sent to client in express服务器错误以快递方式发送给客户端
【发布时间】:2015-02-27 08:48:47
【问题描述】:

在以下 node.js 服务器代码中,由于“ABCDE”不是定义的变量,因此在请求 '/upload' 时会引发错误。令我困惑的是,服务器端控制台打印的错误堆栈跟踪被发送回客户端,这是不安全的。

除了捕获该错误之外,我如何防止这种情况发生?

var express = require('express');
var app = express();

app.use(function (err, req, res, next) {
    res.send(500, 'Something broke!');
});
app.post('/upload', function (req, res) {
    console.log(ABCDE);
});
app.listen(3000);

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    您的问题已经有了答案。您需要错误处理中间件(app.use 元数为 4 的函数)来处理错误。

    您只需要在路由器之后添加错误处理中间件。您的示例将错误处理程序放在路由器上方。

    app.use(function (err, req, res, next)) 移动到代码底部或插入

    app.use(app.router);
    

    在错误处理程序之上。

    Refer to the documentation for more information about error handlers.

    【讨论】:

    • 此链接现已损坏。
    • ... 现在有一个重定向。所以链接又可以工作了。
    猜你喜欢
    • 2019-05-27
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多