2012-11-07 117 views
1

还有类似的问题关于On Error Goto x没有捕获所有的错误等,但我遇到了不同的问题。On Error Goto引发错误

我的(经典ASP)页面在大多数时间都正常工作。有些用户抱怨网页上有错误,但无法复制。

我尝试错误处理,但On Error Resume Next不帮我这个情况,并On Error Goto导致页面无法正常工作,不断抛出错误(这看起来像一个500,但可能是因为处理IIS在后台做) 。如果标签存在或不存在,我会写Goto 0Goto [label]而没有区别。

什么可能导致这种情况?

回答

6

On Error GoTo label没有在ASP

支持您开始使用

On Error Resume Next

检查Err.Number,看是否发生了错误的错误捕获块,

关闭使用

On Error GoTo 0

See this docthis thread

+0

所以,我需要'如果Err.Number <> 0'后每个可能的问题。如果我错过其中之一,希望事情能够正常工作...... – JNF

+1

并且记住在出现问题后清除Err对象,如果您想继续并稍后再检查它! –

3

试探使用上的错误继续下一步每个错误是不是在大ASP页实用。

如果收到状态码500,则将IIS配置为使用自定义错误页面。格式以下,以适应...

Set objASPError = Server.GetLastError 

response.write "Category: " & objASPError.Category & _ 
"ASPCode: " & objASPError.ASPCode & _ 
"Number: " & objASPError.Number & _ 
"ASPDescription: " & objASPError.ASPDescription & _ 
"Description: " & objASPError.Description & _ 
"Source: " & objASPError.Source 
+0

由于某种原因,它通常没有数据而结束 – JNF

+0

一些不错的包含带有名为Catch的Function/Sub的页面是一个很好的方法。例如。 子捕捉(errNumberExpected,friendlyError,bTerminateExecution,sOptionalRedirect) 等等 上的错误继续下一步 '你的代码 捕捉0, “处理提交时出现错误”,真正的 “Home.asp” –