2014-05-14 53 views
1

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

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

' Include file contents: 

Function MyHandler() 

    'Code for triggering email goes here 

    response.redirect "ErrorPage.asp" 

End Function 

On Error call MyHandler() 

在此先感谢!

+0

上面的代码实际上并不工作......这只是一个示例,显示了我正在寻找的基本想法。 我尽快解决错误......但这会简化这一过程。但是,严重的......拥有2500多页的代码和每周40个小时的新发展和变化,总会遇到至少一些错误。 – justanotherguy

+1

自从我使用ASP以来已经有一段时间了。但是我认为On Error Resume Next的东西能够抓住它。这个SO回答可能实际上有帮助:http://stackoverflow.com/questions/2202869/what-does-the-on-error-resume-next-statement-do – durbnpoisn

+0

谢谢,但那不是我所要求的。这是一个典型的错误处理程序,但我要求的并不是典型的。我问,一旦发生第一个错误,是否可以调用函数(或子函数)。这样我就可以很容易地将它插入网站。 – justanotherguy

回答

1

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

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