将多个参数传递给ExpressJS错误处理程序

时间:2016-01-18 23:05:44

标签: node.js express

我想使用expressJS错误处理程序来处理我的应用程序中的错误。

问题是我想在错误中附加自定义消息,以便我可以自定义要记录的内容,并保持语法轻量级:

if(err)
  return next(err, "Invalid user Id");

但我只在文档和互联网上看到只使用1个错误参数的示例。 解决方案可能是传递一个对象,但语法不再是轻量级的:

if(err)
  return next({
    error   : err,
    message : "Invalid user Id"
  });

我怎么能用快递来做到这一点?

1 个答案:

答案 0 :(得分:1)

除了你目前的解决方案,你可以做到

if (err) {
    err.message += ": Invalid user id";
    return next(err);
}

或者如果你想摆脱原来的错误对象而只是传递新的

if (err) {
    return next(new Error("Invalid user id"));
}