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

Jac*_*ack 12 javascript exception-handling google-chrome

如何在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>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在测试铬.开发人员控制台注册未捕获的异常,但不会出现window.onerror中的alert().

Mor*_*ten 15

截至2013年,Chrome支持window.onerror.(我有25条评论意味着早期版本)

我所做的是使用currying包装JQuery来创建一个始终try...catch在JQuery函数中执行的代理.

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

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

  • 我正在使用Chrome 14(最新版本)和window.onerror工作! (3认同)