代码之家  ›  专栏  ›  技术社区  ›  Josh Andreas Rehm

健壮的Javascript异常处理

  •  6
  • Josh Andreas Rehm  · 技术社区  · 17 年前

    我正在开发一个DHTML/Javascript应用程序,它依赖于一些高级功能(DOM操作、AJAX、Flash通信等)。我非常关心功能性--如果出现问题,即使在部署应用程序之后,我也要确保我知道原因和如何修复问题--而且,我还要确保用户能够继续使用应用程序,如果异常严重,可能会减少功能。

    我目前有一个日志和异常处理系统,通过该系统,函数可以生成日志,如果捕获到异常,所有日志都会通过电子邮件发送给我。这个系统运行良好,但我想让它更健壮。我在寻求建议。

    我的一个想法是将每个javascript函数体包装在一个try/catch块中,在捕获异常时,记录函数名,然后将错误抛出到全局处理程序。但是,仅仅为了跟踪发生异常的函数,就需要编写大量代码。

    1 回复  |  直到 17 年前
        1
  •  4
  •   Jonathan Lonowski    17 年前

    而不是处理添加 N 尝试/捕捉块以 函数,使用 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 ).这是我所知道的少数几个尝试跨浏览器工作的公司之一。

    推荐文章