经典ASP:错误停止

dan*_*ans 3 error-handling asp-classic

我有一个ASP页,在显示该页之前,该页在开头运行了两个SQL插入语句。如果我遇到主键冲突(即插入内容已在当天运行),我只想继续。

我的代码基本上是:

on error resume next
' insert statements
Run Code Online (Sandbox Code Playgroud)

一旦执行了语句,我想恢复默认的错误行为,该页面死于一条错误消息。

是否有一个命令,例如“错误停止时”,“错误终止时”或“默认错误时”,或将错误处理重置为默认行为的命令?

Lit*_*les 5

如果您希望它在不进行任何自定义错误处理程序的情况下引发错误,请使用:

On Error GoTo 0
Run Code Online (Sandbox Code Playgroud)

您可以使用以下示例在快速的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" %>
Run Code Online (Sandbox Code Playgroud)

随着On Error Goto 0注释掉,Bye将得到正常的书写。与On Error Goto 0启用,您会收到以下错误:

ADODB.Recordset错误'800a0e78'

当对象关闭时,不允许进行操作。