Classic Asp中的错误处理没有超时错误

时间:2009-07-29 12:51:32

标签: sql-server-2005 asp-classic

在经典的asp页面中,我需要捕获错误描述并插入到数据库中的表中。 当我使用'on next resume next'时,我收到如下超时错误:

  

a的最长时间   超出了要执行的脚本。您   可以通过指定a来更改此限制   物业的新价值   Server.ScriptTimeout或通过更改   IIS管理中的值   工具

请帮我抓住异常并插入数据库。

3 个答案:

答案 0 :(得分:6)

我相信您的问题是“如何捕获脚本超时错误并将其记录在数据库中”。然后答案是你不能用On Error resume next。

问题是ASP确定您的脚本运行时间过长。为了让您的代码能够捕获并记录您的代码需要继续的错误,但这正是ASP确定的,因为它的时间已经过去了。

另外一般情况下,除非你可以继续在你的脚本中做一些合理的事情(并且不包括日志记录),否则尝试使用On Error Resume Next来捕获错误是毫无意义的。

而是创建一个新的ASP脚本,应该在出现脚本错误时运行(这将包括脚本超时错误)。在IIS管理器中,打开应用程序属性对话框并选择“自定义错误”选项卡。编辑500; 100 HTTP错误的处理程序,并将其更改为URL和此ASP脚本的路径。

现在您可以将错误记录代码放在此ASP脚本中。您可以通过访问Server.GetLastError方法来访问失败的ASP页面引发的错误。您还可以将此页面配置为向用户发送友好的内容。

答案 1 :(得分:0)

为什么不调查/修复超时问题而不是尝试捕获异常?虽然你应该记录错误,但你也应该首先调查它出现的原因。

答案 2 :(得分:0)

如果异常与您的数据库有任何关系,您可能已经找到了答案......您是否先检查过问题是什么?