Express错误处理中间件的参数使用
来源:互联网 发布:app下载排名 优化 编辑:程序博客网 时间:2024/05/18 03:01
Express中,错误处理通过特殊的中间件来完成。如前所述,一般中间件的参数为3个:req
,res
, next
。如果你use
一个4个参数的中间件,它将被Express视为错误处理中间件。下面便是一个错误处理中间件,当出于开发环境时使用:
// file: app.jsif (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); // 状态码默认为500(服务器内部错误) res.render('error', { message: err.message, error: err // 生产环境中应设为 `error: {}`,禁止输出错误 }); });}
提示
这里的res.render
将第二个参数指定的数据传递给第一个参数指定的模板error.hbs
,得到HTML并返回给浏览器。这个过程成为渲染,下一节课我们详细介绍。
错误处理中间件何时会执行呢?当然是当错误发生时。你需要手动地将错误传递给错误处理中间件。不妨在app.js
中创建如下的中间件来测试错误处理:
// file: app.jsapp.get('/throw/error', function(req, res, next){ var err = new Error('i am an error'); next(err);});
访问localhost:3000/throw/error
,将会触发该控制器,进而触发错误处理中间件。中间件的第三个参数next
为下一个中间件。还记得吗?中间件是一个队列,如果一个中间件未能处理完该请求,请通过调用next()
来交给下一个中间件。
- 如果带不带参数调用(如
next()
)则会传递给下一个普通中间件; - 如果带参数调用(如
next(err)
)则会传递给下一个错误处理中间件。
1 0
- Express错误处理中间件的参数使用
- express使用中间件【转】
- express里的中间件
- Express的serve-static中间件的使用之五问
- 深入理解express的中间件
- express的中间件basicAuth详解
- express的中间件use,Router
- Connect中间件——错误处理中间件
- express 中间件
- express 中间件
- expressjs中的错误处理中间件
- nodesj中 中间件express-session的理解
- 写一个读取环境变量的Express中间件
- Express 4.x中间件express-session的详细解析
- nodejs使用express,express版本3.5.3使用中间件app.user(express.multipart())异常问题
- express 4.X 使用multer中间件 上传文件
- NodeJS Connect 简单错误处理中间件
- Nodejs express之中间件
- jsp内置对象:request属性
- HashMap的原理与详解
- Leetcode-90. Subsets II
- Android String
- 七年失败的程序之路
- Express错误处理中间件的参数使用
- Java NIO 系列教程
- 表单元素提交到服务器,通过request接收多个请求参数
- c++中的参数传递方式
- 《七年失败的程序之路》读后感
- getFragmentManager 、getSupportFragmentManager 与getChildFragmentManager三者之间的区别
- hadoop - hbase 笔记
- Android 获取系统默认路径
- JavaScript变量命名的规则