何时会在 window.onError 函数上提供正确的堆栈跟踪?

2023-12-25

许多其他编程语言(例如 java、ruby)中的异常/错误总是提供堆栈跟踪/回溯信息。

在 JavaScript 中,未处理的错误会被 window.onError 捕获。

虽然该函数没有获取 Error 对象,所以我们无法访问该对象的 stack 属性。

有没有可靠的信息来源when这方面会有什么改变吗?


包含“已清理”堆栈跟踪的错误对象现在作为第五个参数传递给onerror在 Chrome 中。你可以在这里读到它:https://code.google.com/p/chromium/issues/detail?id=147127 https://code.google.com/p/chromium/issues/detail?id=147127

在撰写本文时,它位于 Canary 中,应该会在本月晚些时候推出稳定的 Chrome 版本。 如果您正在运行 Canary,您可以像这样测试它:

window.onerror = function (message, file, line, column, errorObj) {
    if(errorObj !== undefined) //so it won't blow up in the rest of the browsers
        console.log('Error: ' + errorObj.stack);
}

您可以看到根据规范,他们还添加了 IE 10 也已实现的列号。

您还可以查看 Mozilla 讨论:https://bugzilla.mozilla.org/show_bug.cgi?id=355430 https://bugzilla.mozilla.org/show_bug.cgi?id=355430

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时会在 window.onError 函数上提供正确的堆栈跟踪? 的相关文章

随机推荐