【问题标题】:Error Handling in Express.jsExpress.js 中的错误处理
【发布时间】:2010-12-25 22:18:18
【问题描述】:

如何处理 Express.js 中的错误?

例如,如果用户调用不存在的资源

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    如果您想生成 404,只需将其添加为您的最后一条路线:

    app.get('*', function(req, res){
      res.send('Not Found', 404);
    });
    

    因此,任何其他路由未处理的所有内容都将导致 404。

    您可以在包含 Response 对象的 send 方法的 expressJS API 参考部分中找到有关发送错误响应的更多信息。它位于here

    【讨论】:

    • 谢谢 Ivo,但是如果用户调用 TRACE /whatever HTTP/1.1 怎么办?我该如何处理?因为此时Express只支持POSTGETDELETEPUT方法。
    • @Omen 我相信用户(浏览器)不能调用 TRACE?只有开发人员可以并且他应该阅读您提供的文档。
    • @OmenJugatar 或者你总是可以为它写一个直接的监听器:P
    【解决方案2】:

    Omen,如果你想覆盖所有HTTP methods,请使用:

    app.all('*', function(req, res) {
    
       // Do something...
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 2018-10-05
      • 2011-07-24
      • 2011-11-01
      • 2018-01-04
      相关资源
      最近更新 更多