编程语言
首页 > 编程语言> > 在javascript中获取导致错误的callstack

在javascript中获取导致错误的callstack

作者:互联网

问题是没有得到一般的callstack,这可以按照这里描述的那样完成:
http://eriwen.com/javascript/js-stack-trace/
而是从事件的处理程序访问触发事件的callstack.

特别是我有兴趣从窗口错误事件中记录callstack

window.onerror = function(msg, url, line) { 
 //callstack // would be nice to have.
//log callstack or whatever. (note this can be done w/ ajax and service, and is not the question at hand.
}

但我知道如何记录错误. (我使用jquery的.ajax和服务)

浏览器能否实现这一目标?目前有可能吗?也许我会以错误的方式解决这个问题.如何添加一个简单的函数(即不修改我的代码库中的所有函数)来检测何时出现错误,并记录调用堆栈.

到目前为止,感谢您的答案,如果问题最初措辞不当,那就很抱歉.

解决方法:

Error对象在Mozilla上有一个非标准的stack属性,它似乎也适用于谷歌浏览器,而不是IE9.

function test() {
  try {//can't think of anything that causes an exception?
      throw new Error("boo");
  }
  catch(e)
  {
      alert(e.stack);
  }
}
test();​

见小提琴:http://jsfiddle.net/Cq5RJ/

标签:javascript,callstack,error-handling
来源: https://codeday.me/bug/20190609/1208356.html