在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