2012-07-26 106 views
3

我有一個ASP頁面在顯示頁面之前在開始時運行兩個SQL插入語句。如果我遇到主鍵衝突(即插入已經運行那天),我只想繼續。經典的ASP:在錯誤停止

我的代碼基本上是:

on error resume next 
' insert statements 

一旦報表已經執行,我想恢復默認的錯誤行爲,其中第一個錯誤消息去世。

是否有像「on error stop」或「on error die」或「on error default」這樣的命令,或者是否將錯誤處理重置爲默認行爲?

回答

4

如果你想讓它拋出一個錯誤,而不去任何類型的自定義錯誤處理程序,使用方法:

On Error GoTo 0 

您可以用下面的測試它在一個快速示例ASP頁:

<% Language="VBScript" %> 

<% Response.Write "Hello" %> 

<% On Error Resume Next 
    Dim rs 
    SET rs = Server.CreateObject("ADODB.RecordSet") 

    'On Error Goto 0 
    rs.MoveNext 

%> 

<% Response.Write "Bye" %> 

隨着On Error Goto 0被註釋掉,Bye將被正常寫入。啓用On Error Goto 0後,將出現以下錯誤:

ADODB.Recordset error '800a0e78'

Operation is not allowed when the object is closed.

+0

試過了。這正是我要找的。謝謝! – dangowans 2012-07-26 14:09:50