如何让express.js捕获并报告AJAX调用中的运行时异常

Gre*_*reg 6 javascript node.js express

我发现当我在express.js中的GET处理程序中遇到运行时错误(例如,从对象中读取未定义的属性)时,Express非常善于在浏览器中向我提供有关问题的反馈以及完整的堆栈跟踪.

但是,当我因Ajax POST调用而遇到运行时错误时,我没有得到相同级别的反馈,并且Node控制台对此事件感到遗憾.

这是Express配置问题吗?

Gre*_*reg 12

找到了我自己的问题的答案......

您需要配置express的错误处理程序来转储异常.

    app.use(express.errorHandler({showStack: true, dumpExceptions: true}));
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,这些标志现在是默认的,"`errorHandler()`现在只是一个开发中间件".https://github.com/senchalabs/connect/commit/a68b1c9b4389801c4c58c07fc91b65b19687d91c#lib/middleware/errorHandler.js (8认同)