可以将错误传递给express.js路由器吗?
在快递中间件,路由器和错误处理相关的express.js文档中没有答案(由于缺乏声誉,我无法发布链接)。
我彻底搜索了StackOverflow,但无法找到答案。
我谷歌搜索得非常彻底,无法找到答案。
示例:
app.js
var express = require('express');
var myRouter = require('./myRouter.js');
var app = express();
app.use(function(req, res, next){
console.log('About to call next("someError")';
next('someError');
});
app.use(myRouter);
app.use(function (err, req, res, next){
console.log('Handling error in main and err is:');
console.log(err);
});
myRouter.js
var express = require('express');
var myRtr = module.exports = express.Router();
myRtr.use(function(err, req, res, next){
console.log('Handling error in myRouter.js');
next('anotherError');
});
我使用快速版本4.12.2进行了所有测试。
答案 0 :(得分:1)
答案是否定的。
以上案例将打印:
About to call next("someError");
Handling err in main and err is:
someError
注意:我对此进行了更多的测试,而不是我在上面的问题中所写的,但为了简洁起见,我没有将其包括在内。