gpt4 book ai didi

javascript - 有没有办法从 Internet Explorer 中的错误对象获取行号或堆栈跟踪?

转载 作者:行者123 更新时间:2023-11-29 22:26:07 25 4
gpt4 key购买 nike

为了ease debugging一些棘手的异步 Javascript 代码在 Internet Explorer 中行为不当,我想知道是否有可能在给定 Error 对象的情况下获取有关其原始位置的有用信息。

Firefox、Chrome、Opera 和我想所有其他不错的浏览器都可以让我这样做:

try{
throw Error('My custom error message');
}catch(e){
console.log(e.stack)
}

但我尝试过的所有属性(error.stackerror.lineNumber)都不能在 Internet Explorer 上运行。 有没有办法只使用 Javascript 在 Internet Explorer 上获取此信息?由于 IE REPL 将显示未处理异常的原始行号,即使它们在不同的行中被捕获并重新抛出,我假设我想要的信息存储在某处,但我无法确定是否有公共(public)方式来获取它。

最佳答案

这些属性在 IE 中不可用。您可以通过使用 arguments.callee 图获得一些方法。但是,如果您有很多匿名函数或经常使用 bind(),则此方法效果不佳。

参见 Closure Library's debug package 中的 goog.debug.getStacktrace()一个示例实现。 goog.debug.normalizeErrorObject() 也可能对您有用。

关于javascript - 有没有办法从 Internet Explorer 中的错误对象获取行号或堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9199183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com