Sql server 2005 经典Asp中无超时错误的错误处理

Sql server 2005 经典Asp中无超时错误的错误处理,sql-server-2005,asp-classic,Sql Server 2005,Asp Classic,在经典asp页面中,我需要捕获错误描述并插入到数据库中的表中。 当我使用“on error resume next”时,我得到一个超时错误,如下所示: 一次测试的最长时间 超出了要执行的脚本。你 可以通过指定 属性的新值 Server.ScriptTimeout或通过更改 IIS管理中的值 工具 请帮助我捕获异常并插入数据库。为什么不调查/修复超时问题,而不是尝试捕获异常?在记录错误的同时,您还应该首先调查错误发生的原因。如果异常与您的数据库有关,您可能已经找到了答案。。。您是否先检查了问题所在

在经典asp页面中,我需要捕获错误描述并插入到数据库中的表中。 当我使用“on error resume next”时,我得到一个超时错误,如下所示:

一次测试的最长时间 超出了要执行的脚本。你 可以通过指定 属性的新值 Server.ScriptTimeout或通过更改 IIS管理中的值 工具


请帮助我捕获异常并插入数据库。

为什么不调查/修复超时问题,而不是尝试捕获异常?在记录错误的同时,您还应该首先调查错误发生的原因。

如果异常与您的数据库有关,您可能已经找到了答案。。。您是否先检查了问题所在?

我相信您的问题是“如何捕获脚本超时错误并将其记录到数据库中”。那么答案就是你不能用错误继续下一步

问题是ASP已确定您的脚本运行时间过长。为了让您的代码捕获并记录错误,您的代码需要继续,但这正是ASP确定的,因为时间到了,所以不应该发生错误

通常,除非您可以继续在脚本中执行一些合理的操作(不包括日志记录),否则尝试在错误恢复时使用错误陷阱旁边的命令是没有意义的

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


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

@Cybernot-我误解了您的问题。起初我以为你有ADO超时问题。我关于解决超时原因的回答仍然有效。作为一种临时措施,您可以增加这里记录的超时时间-逻辑是好的。如果你能举例说明的话。对于使用GetLastError的示例可能更有用,请参见