如何捕获javascript异常/错误?(在服务器上记录它们)

jde*_*tor 15 javascript error-handling error-logging

重复:


我如何在javascript中记录错误?我无法在try catch块中包装每一行javascript.

我在谈论例如在IE中的错误,将显示错误的页面消息并且使得行和char导致错误.如果我能弄清楚如何在客户端捕获此错误,我可以使用ajax调用在服务器上记录错误.

And*_*ley 27

我在所有项目中使用此功能:

window.onerror = function(m,u,l){
    jQuery.post("ajax/js_error_log.php",
        { msg: m,
          url: u,
         line: l,
       window: window.location.href });
    return true};
Run Code Online (Sandbox Code Playgroud)

确保它是浏览器收到的第一个javascript,或者至少在任何可能导致错误的代码之前.当然需要jQuery,但如果你愿意,你可以用纯JavaScript编写ajax函数.

请注意:如果您遇到语法错误,这对您没有帮助.如果存在语法错误,所有javascript会立即死亡.

  • jQuery!= Javascript (4认同)
  • @George Jempty:阅读我的解释.我给了jQuery,因为它相当普遍,而且输入更加简洁.该示例是有效的,因为它只是一个模型.我没有给我的PHP脚本的源代码或存储错误的MySQL表的布局. (4认同)
  • 理想情况下,我想要一个jQuery答案,但我不想限制答案.谢谢 (2认同)