首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >全局javascript异常处理程序(在Chrome中)

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

Stack Overflow用户
提问于 2010-03-05 13:01:11
回答 3查看 13.3K关注 0票数 12

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

编辑: window.onerror不工作,代码是:

代码语言:javascript
复制
<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中的警告()不会出现。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-07 18:15:30

从2013年开始,Chrome支持window.onerror。(我有版本25的注释暗示了更早的版本)

我所做的是使用currying包装JQuery,以创建一个总是在JQuery函数中执行try...catch的代理。

我在www.js-analytics.com中使用它,但是这个解决方案只适用于JQuery脚本。

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

票数 15
EN

Stack Overflow用户

发布于 2010-03-05 13:10:56

代码语言:javascript
复制
window.onerror = function(errorMsg, url, lineNumber) {
    // code to run when error has occured on page
}
票数 3
EN

Stack Overflow用户

发布于 2010-03-05 13:12:20

也许你正在寻找window.onerror,不确定它是否在所有浏览器上都可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2384666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档