【问题标题】:Classic ASP: On Error Stop经典 ASP:错误停止
【发布时间】:2012-07-26 22:07:10
【问题描述】:
我有一个 ASP 页面,它在显示页面之前在开头运行两个 SQL 插入语句。如果我遇到主键冲突(即插入当天已经运行),我只想继续。
我的代码基本上是:
on error resume next
' insert statements
一旦语句被执行,我想恢复默认的错误行为,页面终止并显示错误消息。
是否有命令,例如“on error stop”、“on error die”或“on error default”,或将错误处理重置为默认行为的命令?
【问题讨论】:
标签:
asp-classic
error-handling
【解决方案1】:
如果您希望它在不使用任何类型的自定义错误处理程序的情况下引发错误,请使用:
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 错误 '800a0e78'
对象关闭时不允许操作。