gpt4 book ai didi

node.js - Node/Express良好的错误处理方法?

转载 作者:行者123 更新时间:2023-12-03 08:46:48 25 4
gpt4 key购买 nike

我有几个 Mongoose 路由api函数,我想知道错误处理的最佳方法是什么。下面是一个示例函数。在第一部分中,我正在进行 Mongoose 数据库查询,然后使用exec执行异步功能,然后捕获任何错误,否则将进一步处理数据。

exports.getStornoData = function(req,res,next) {        
Produkt.aggregate([
{
"$unwind":"$DemonstratorWerte"
},
{
$match: {
"DemonstratorWerte.Demonstrator":+req.params.demo_id, "DemonstratorWerte.RstorniertDemo.B":true
}
},...
]).exec(function(err, result) {
if (err) {
next(err);
res.status('404').send();
}

else {
//process data...
res.locals.stornierungen = stornierungenArray;
next();
}
})
}

这种错误处理方法可以接受吗?如何在不干扰用户体验的地方捕获大多数错误并输出(或收集)错误?
if (err) {
next(err);
res.status('404').send();
}

并与next(err)并在此后使用方法链接发送404状态是正确的吗?

最佳答案

参见 express error handling documentation

而不是在您自己的中间件函数中返回404,
您应该定义自己的“自定义”错误处理中间件:

function errorHandler (err, req, res, next) {
// Decide what to return to client here based on type of error.
}

确保在其他app.use()和路由调用之后最后定义错误处理中间件。

关于node.js - Node/Express良好的错误处理方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51943534/

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