将错误传递给express.js Router,Node.js

时间:2015-03-16 21:38:09

标签: javascript node.js express

可以将错误传递给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进行了所有测试。

1 个答案:

答案 0 :(得分:1)

答案是否定的。

以上案例将打印:

About to call next("someError");
Handling err in main and err is:
someError

注意:我对此进行了更多的测试,而不是我在上面的问题中所写的,但为了简洁起见,我没有将其包括在内。