Web设计中的错误处理

时间:2010-09-14 03:13:35

标签: exception-handling error-handling

我正在考虑一些优雅的方法来优雅地处理网站上的错误。我认为两种模式将决定如何处理错误:

开发模式

  • 显示从
  • 生成的视图上的所有通知,警告和致命错误
  • 错误以原始格式显示

生产模式

  • 隐藏所有通知和警告,无论如何
  • 将致命错误重定向到某个页面(类似于失败的鲸鱼)
    • 告诉用户已记录错误
    • 将有关错误的信息存储在数据库或其他类型的日志中(开发人员的选择)
    • 通过电子邮件将错误发​​送到一组电子邮件地址(开发人员的选择)

您对此方法有何看法?你能想到更好的处理错误的方法吗?

2 个答案:

答案 0 :(得分:1)

生产模式 - 而不是通过电子邮件发送开发人员并将错误存储到数据库中。与Bugzilla等缺陷/错误跟踪系统集成,让它处理所有电子邮件,分配等...无需重新发明轮子。集成很简单,只需使用Bugzilla web services

答案 1 :(得分:0)

对于生产,我强烈建议使用错误记录服务,例如SentryRollbar。他们有免费计划,应涵盖大多数个人或小型企业网站。

为什么要使用这些服务?他们提供了简单的脚本或您添加到网站或应用程序中的一行代码,该服务将处理错误日志记录,存储和通知。例如,如果用户使用损坏的功能,则日志记录服务将记录错误,将其发送到他们的服务器,对其进行分析,进行存储,然后向您发送诸如PROJECT1 - TypeError: document.getElementsByClassName.ToString is not a function之类的通知给您。
此外,它们提供了几种语言的实现,因此您可以同时记录PHP后端和JS前端。

使用专业服务将为您节省大量时间。无需编写自己的API,存储错误的内容并配置一些推送或通知服务。我使用Sentry已有几个月了,对此我感到非常满意。基本上,这是“设置一次就忘了”的事情。