为堆栈跟踪添加值,Javascript

Add value to Stack Trace, Javascript

在 Node 中,有没有办法向堆栈跟踪添加行或值,以防下游出现错误?

我知道还有很多其他方法可以使数据可用。而且我知道跟踪并不意味着价值存储。但我想知道这个具体想法是否可行(在合理范围内)。

堆栈跟踪包含所有被调用的函数,因此这似乎是将函数作为 iIFE 添加到其中的唯一方法:

(function executedSomeCode() {
  throw new Error("failure");
})();

现在您的堆栈跟踪包含:

...
at executedSomeCode
...

或者你只是编辑错误的 stack 属性:

var error = new Error();
error.stack += "\nhey, whats up?";
throw error;

经过进一步研究,我认为这是不可能的。 Javascript、V8 和 Node.js 都没有以可编辑的方式公开堆栈,这在某种程度上是有道理的。但是,我确实遇到了一些有用的链接,值得分享: