将多个parameter passing给ExpressJSerror handling程序

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

问题是我想附加一个自定义消息的错误,所以我可以自定义什么将被logging,并保持轻量级的语法:

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

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

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

我怎样才能做到这一点?

除了你目前的解决scheme,你可以做

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

或者如果你想摆脱原来的错误对象,只是通过一个新的

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