我正在开发依赖于一些高级功能(DOM 操作、AJAX、Flash 通信等)的 DHTML/Javascript 应用程序。我非常关心功能——如果出现问题,即使在部署应用程序之后,我想确保我知道为什么以及如何修复它们——而且,我想确保用户能够继续使用应用程序,如果异常严重,可能会减少功能。
我目前构建了一个日志记录和异常处理系统,函数可以生成日志,如果捕获到异常,所有日志都会通过电子邮件发送给我。该系统运行良好,但我想让它更健壮。我正在寻找建议。
我的一个想法是将每个 javascript 函数的主体包装在一个 try/catch block 中,并在捕获异常时记录函数的名称,然后将错误抛给全局处理程序。但这只是为了追踪发生异常的函数而编写的大量代码。
有什么想法可以使运行时异常更容易查找和重现吗?
最佳答案
与其处理向 N 函数添加 N 个 try/catch block ,使用 window.onerror
事件可能更容易。
JavaScript 套件有 a series of examples你可以使用。特别是 3rd :
window.onerror = function (msg, url, line) {
alert('Error message: ' + msg + '\nURL: ' + url + '\nLine Number: ' + line);
return true;
}
如果您更喜欢堆栈跟踪,您可以查看 Eric Wendelin's (或 Luke Smith's update )。这是我所知道的为数不多的尝试跨浏览器工作的尝试之一。
关于javascript - 强大的 Javascript 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1101081/