【问题标题】:Classic ASP Error Handling: Calling a function after an error?经典 ASP 错误处理:错误后调用函数?
【发布时间】:2014-05-14 19:35:58
【问题描述】:

我在一个基本没有错误处理的经典 ASP 网站上进行维护。所以用户会看到遇到的任何错误消息......相反,我希望我的代码能够捕捉任何潜在的错误,然后在将用户重定向到更友好的错误页面之前触发一封电子邮件。

这个网站比较大,每个网页的开头都带有相同的包含文件...所以理想情况下,我想从这个包含文件的开头设置一个错误处理程序。我没有任何运气找到一种方法来做到这一点,而不必单独浏览每个页面,在脚本末尾发生错误处理......有没有可能的方法从包含文件中编写类似这样的代码?:

' Include file contents:

Function MyHandler()

    'Code for triggering email goes here

    response.redirect "ErrorPage.asp"

End Function

On Error call MyHandler()

提前致谢!

【问题讨论】:

  • 上面的代码实际上并不工作......这只是一个示例,展示了我正在寻找的基本概念。而且我会在收到错误消息后立即修复它们……但这会简化该过程。但说真的……由于有 2,500 多页的代码,以及每周 40 小时的新开发和更改,总会有至少几个错误漏掉。
  • 我已经有一段时间没有使用 ASP 了。但我在想 On Error Resume Next 事情将能够捕捉到它。这个 SO 答案实际上可能会有所帮助:stackoverflow.com/questions/2202869/…
  • 谢谢,但这并不是我想要的。这是一个典型的错误处理程序,但我要求的不是典型的。我在问是否可以在第一个错误发生后立即调用函数(或子函数)。这样我就可以很容易地将它插入网站。
  • 我认为您仍然有正确的想法。如果您只是将其放入站点范围内使用的包含之一中,最好是早期加载的包含,它至少应该能够处理事情。
  • 配置 IIS 以将用户重定向到错误页面对您来说是一种更简单的方法吗? dondraper.com/2011/01/…

标签: vbscript asp-classic error-handling


【解决方案1】:

如果您可以访问这些,我建议在 IIS(Web 服务器)中使用自定义错误页面。如果您愿意,您可以将不同类型的错误重定向到不同的脚本,或者将它们全部指向一个脚本,并在那里拥有所有错误代码的逻辑。

您可以在那里捕获常见错误,并可能将用户重定向到替代页面/站点,或返回特定错误消息。我建议也使用自定义错误页面来记录错误和会话中的一些信息(例如,在数据库中提交数据、查询字符串、引荐来源网址、cookie 等)和/或向某个服务帐户发送通知电子邮件,以识别正在发生的特定问题,然后还可以继续实际解决问题的原因很多错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 2016-10-06
    • 2010-11-04
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多