首页 > 解决方案 > 切割异常堆栈跟踪的一部分?

问题描述

我有一个小实用函数,它调用另一个函数,如果它定义了

function ifcall(func, params) {
  if (func) params = func(params)
  return params
}

// simple use case
let err = (msg) => { throw new Error(msg) }

ifcall(err, "oops..")

如果每次我需要调用一个变量,我更喜欢这种方式而不是写完整的。

到目前为止,一切都很好。但这带来了一点调试器的烦恼:

当函数调用时,引发错误,堆栈跟踪在 ifcall() 函数内部开始,而不是在调用者上。

重点是:有一种方法可以操纵堆栈跟踪并将错误指向调用者吗?

标签: javascriptexceptionstack-trace

解决方案


您使用的是哪个调试器?

这是终端中的 NodeJS。 节点截图

这是 Chrome 开发工具。 chrome devtools 截图

也许您过于简化了您的示例,并且提供的代码不包含您提到的问题?

有时,当我在堆栈跟踪中看不到我的函数时,这是因为它是一个匿名函数,我无法在其他函数中找到它......


推荐阅读