改善我们的javascript错误报告

时间:2012-01-19 22:01:58

标签: javascript ios error-handling jquery-mobile cordova

所以现在我们有一些通用代码来报告来自我们的代码或第三方代码的错误。我们的项目是iOS的JQM / Phonegap项目。发生的事情是我们几乎总是得到相同的无用错误... TypeError:'undefined'不是函数...没有行号或其他有用的信息。有没有办法我可以改变代码,可能会得到什么是未定义的或者它是什么?

window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
    //Handle errors not in a jquery event handler
    //DebugMessage(errorMSg + " "+ url + " " + lineNumber);
    var ex = new Error(errorMsg, url, lineNumber);
    HandleError(ex, "window.onerror");  
        //HandleError sends the error object to 
        //a webservice to log the error.
    return true;
};

有关调试javascript错误的任何提示也会有所帮助。

2 个答案:

答案 0 :(得分:1)

最近几个月,浏览器扩展了window.onerror的签名以提供更多信息。

window.onerror = function(msg, file, line, col, error) {

  // backwards compat
  if (!error) {
    error = new Error(msg);
  }

  // send error to your logger

}

这应该会为您提供更多信息。但是仍然存在需要更好背景的事情。您应该查看一些第三方工具,例如TrackJS自动提供此功能,以及有关错误发生方式的额外信息。

免责声明:我是TrackJS的原始作者之一,所以我对JavaScript错误了如指掌:)

答案 1 :(得分:0)

您听说过Ripple吗?它是Chrome的移动模拟器,专为测试PhoneGap应用而设计。

在您调试设备之前,这可能有助于您找到错误。