node.js - 将多个参数传递给 ExpressJS 错误处理程序

标签 node.js express

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

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

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

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

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

如何使用 Express 做到这一点?

最佳答案

除了您当前的解决方案之外,您还可以这样做

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

或者如果你想摆脱原来的 err 对象并只传递一个新的

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

关于node.js - 将多个参数传递给 ExpressJS 错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865749/

相关文章:

javascript - 错误 : Route. post() 需要回调函数,但在 Route 处获得了 [对象未定义]。(匿名函数)[作为帖子]

node.js - 在 Node js 中禁用 pm2 日志创建

javascript - Mongoose QueryStream.pause() 不暂停?

javascript - 永远运行 sail.js + angularjs 项目获取未知提供商 : a

javascript - Node API 通过 Express 对客户端(Angular2)的正文响应格式错误

node.js - 单独文件上的 Mongoose 子文档,如何嵌入它们

node.js - 将 Visual Studio 调试器附加到 Electron 应用程序

android - socket.io - 无法在 Android 客户端中接收 "next(new Error())"事件?

node.js - 当浏览器发出请求时,express 中间件函数被调用两次

node.js - 大多数准系统 MongoDB Express.js 应用程序