gpt4 book ai didi

javascript - Express 4 中的错误处理

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

我看了很多帖子,但我不明白如何处理该错误

我有这些中间件

// catch 404 and forward to error handler
app.use(function (req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});

app.use(function (err, req, res, next) {
res.render('error', {
message: err.message,
error: err
});
});

当我收到 404 页面时,这些中间件会进行管理

在我的 route ,我有例如:

app.route('/post/delete/:id_post')
.get(function (req, res,next) {
if(req.params.id_post !=req.decoded._id){
var err = new Error('Error 500, you don\t have access');
next(err);
}

Post.find({_id:req.params.id_post},function(err, post) {
if (err) throw err;
res.redirect('/');
});
});

我如何管理 if(req.params.id_post !=req.decoded._id) 内部的错误以及在 Db 上查询后的错误?

最佳答案

您可以使用中间件来捕获路由上的错误,例如

app.get('/post/delete/:id_post',function(req,res,next){ 


if(req.params.id_post !=req.decoded._id){
var err = new Error('Error 500, you don\t have access');
return next(err);
}

Post.find({_id:req.params.id_post},function(err, post) {
if (err) return next(err);
res.redirect('/');
});

},function(err,req,res,next){
//you can handle all your errors thrown from ahead middleware
})

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

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