javascript - 全局 JavaScript 异常处理程序(在 Chrome 中)

标签 javascript google-chrome exception

如何在 JavaScript 中覆盖全局异常处理程序,使其成为所有未捕获异常的顶级处理程序?

window.onerror 不工作。代码是:

<HTML>
    <HEAD>
        <script language='javascript'>
            window.onerror = function (em, url, ln) {
                alert(em + ", " + url + ", " + ln);
                return false;
            }

            function fGo() {
                try
                {
                    var a = b; // Error here: b not defined
                }
                catch (e)
                {
                    throw e;
                }
            }
        </script>
    </HEAD>

    <BODY>
        <button onclick='fGo()'>GO</button>
    </BODY>
</HTML>

顺便说一句,我正在 Chrome 上进行测试。开发者控制台注册了未捕获的异常,但是 window.onerror 中的 alert() 没有出现。

最佳答案

截至 2013 年,Chrome 支持 window.onerror。 (我有 25 版,评论也暗示早期版本。)

我使用 currying 封装了 jQuery创建一个始终在 jQuery 函数中执行 try...catch 的代理。

我在 www.js-analytics.com 中使用它.但是,该解决方案仅适用于 jQuery 脚本。

在 2013 年之前,Google Chrome 不支持 window.onerror,显然它没有在 WebKit 中实现。 .

关于javascript - 全局 JavaScript 异常处理程序(在 Chrome 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384666/

相关文章:

javascript - 使用 jquery 更新数据表中的表行

javascript - jQuery Ajax Success 或 Fail 方法命中

javascript - 查看传单 geojson 时出现扭曲

javascript - 无法在 Chrome 扩展程序上返回选定的文本

java - 在 Java Card 递归编程期间捕获内存异常

javascript - 绑定(bind)页面高度变化的事件

html - 网页末尾的空白,IE 和 Chrome 显示在不同的地方?

javascript - <按钮类型 ="submit"> 在 IE 和 chrome 中的行为不同 : Why?

java - 启用 Guice 的应用程序的 Proguard 优化(无混淆)后的 ClassFormatError

c - 如何在 C 中抛出异常?