所以现在我们有一些通用代码来报告来 self 们的代码或第三方代码的错误。我们的项目是 iOS 的 JQM/Phonegap 项目。发生的事情是我们几乎总是得到同样无用的错误... TypeError: 'undefined' is not a function... 没有行号或其他有用的信息。有没有一种方法可以更改代码以获取未定义的内容或它在哪里?
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 错误的任何提示也会有所帮助。
最佳答案
最近几个月,浏览器扩展了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 错误的知识:)
关于javascript - 改进我们的 JavaScript 错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934009/