2012-11-07 113 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」 –