gpt4 book ai didi

javascript - ExpressJS 中的错误处理

转载 作者:行者123 更新时间:2023-11-30 08:38:01 24 4
gpt4 key购买 nike

我想在我的 expressJS 应用程序中开发单点错误处理。
我在 expressJS 配置中添加了以下代码:

app.use(app.router);
app.use(function (err, req, res, next) {
console.error('ExpressJS : error!!!');
});


因此,应用程序中发生的任何错误都应执行上述函数,以便我可以以自定义方式处理错误。
但是,上面的函数不会在 javascript 错误或以下代码上执行:

throw new Error('something broke!');

我已阅读:
http://expressjs.com/guide/error-handling.html
http://derickbailey.com/2014/09/06/proper-error-handling-in-expressjs-route-handlers/
但是,我仍然无法在我的 expressJS 应用程序中进行一般错误处理。
谁能解释我将如何单点处理任何应用程序错误?

最佳答案

不是通过express,而是nodejs,你可以试试

process.on('uncaughtException', function(err) {
console.log(err);
});

因为“throw”是javascript,不受expressjs控制。

对于那些错误,例如 express 中的路由,您应该能够使用 app.error 或 app.use(function(err .. 正如其他人所建议的那样,这也将可用 req,res 对象。

app.error(function(err, req, res, next){
//check error information and respond accordingly
});

//newer versions
app.use(function(err, req, res, next) {

});

关于javascript - ExpressJS 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29720109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com