gpt4 book ai didi

javascript - 如何在 IE 8 中获取 JavaScript 异常的堆栈跟踪?

转载 作者:可可西里 更新时间:2023-11-01 02:27:29 24 4
gpt4 key购买 nike

当在 IE 8 中抛出 JavaScript 异常时,如何查看其堆栈跟踪?

例如,jQuery 中的以下代码捕获异常并重新抛出它。在 Visual Studio (2012) 中调试时,由于异常 ('e') 被 jQuery 捕获,执行中断,但我终究无法看到异常来源的堆栈跟踪:

// resolve with given context and args
resolveWith: function( context, args ) {
if ( !cancelled && !fired && !firing ) {
firing = 1;
try {
while( callbacks[ 0 ] ) {
callbacks.shift().apply( context, args );
}
}
// We have to add a catch block for
// IE prior to 8 or else the finally
// block will never get executed
catch (e) {
throw e;
}
finally {
fired = [ context, args ];
firing = 0;
}
}
return this;
}

我试过 stacktrace.js库,但当浏览器是 IE 8 时,它似乎忽略了异常,只是回退到生成当前帧的堆栈跟踪。

编辑:

正如您从下面的屏幕截图中看到的,异常没有与堆栈相关的属性:

JavaScript exception object

最佳答案

这行不通!!

function getStackTrace(e) {
var stack = [];
while (e) {
stack.push({
fileName: e.fileName,
lineNumber: e.lineNumber,
name: e.name,
message: e.message,
stack: e.stack
});
}
return stack;
}

关于javascript - 如何在 IE 8 中获取 JavaScript 异常的堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15810402/

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