Express中的错误处理(error handling)是使用中间件完成,错误处理(error handling)中间件的定义方式与其他中间件函数相同,不同之处在于有四个参数,而不是三个– err,req,res,next ,示例如下
app.use(function(err, req, res, next) { console.error(err.stack); res.status(500).send('Something broke!'); });
无涯教程在中间件中的next()方法将带到下一个中间件/路由处理程序,通过一个示例来理解这一点。
var express=require('express'); var app=express(); app.get('/', function(req, res){ //创建一个错误并将其传递给下一个函数 var err=new Error("Something went wrong"); next(err); }); /* * 此处的其他路由处理程序和中间件 * .... */ //错误处理中间件 app.use(function(err, req, res, next) { res.status(500); res.send("Oops, something went wrong.") }); app.listen(3000);
该错误处理中间件可以地放置在路由之后以检测错误类型并响应到客户端。上面的程序将显示以下输出。
参考链接
https://www.learnfk.com/expressjs/expressjs-error-handling.html
标签:err,res,app,中间件,无涯,next,ExpressJS,错误处理 From: https://blog.51cto.com/u_14033984/9491746