【发布时间】:2018-07-28 08:17:51
【问题描述】:
首先,我知道捕获未捕获错误的一种方法是使用process.on('uncaughtException', err, function() {});。
我想知道如何将更多详细信息或更多上下文传递给错误。我希望能够获得使用的变量。我不是试图从错误中恢复,只是在关闭进程之前发生错误时获取我的环境的更多详细信息。是的,堆栈跟踪很好,但我想知道如何复制错误。
比如我有这个功能:
function doTheBatman(var1) {
var var2 = 'whatever';
// this causes an uncaught exception later in the code
}
在process.on,我希望能够访问var1 和var2。
process.on('uncaughtException', function(err) {
// process.whatever doesn't contain any active variables
});
【问题讨论】:
-
你知道你可以add an express route error handler吗?它基本上是使用错误处理函数重载路由定义。
-
你说得对,我更新了我的问题。我还想从表达上下文中获取函数中存在的变量。
-
I also want to get variables that exist in a function out of the express context- 哪些变量和上下文?快速错误处理程序应该让您访问 req,将其与堆栈跟踪结合起来......我想知道您还需要哪些其他变量来进行诊断? -
在我的测试中,当它们发生在不将 req 变量作为论据,至少不使用我上面描述的
process.on方法。变量可以是作为参数传递或在函数内部生成的任何内容。 -
抱歉,我很难想象与您的快速路线相关的错误发生在哪里,以及哪些数据保存了哪些数据。你能再贴一些代码吗?
标签: node.js