适用于:Access 2013、Office 2013
在 Visual Basic 中与在 VBScript 中所使用的方法几乎没有差异。 主要的差异是,VBScript 不支持错误处理的概念,而是在一个标签位置继续执行。 换句话说,不能在 VBScript 中使用 On Error GoTo。 相反,在 VBScript 中使用 On Error Resume Next,然后检查 Errors 集合的 Err.Number 和 Count 属性,如以下示例所示:
<!-- BeginErrorExampleVBS -->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Error Handling example (VBScript)</TITLE>
</HEAD>
<BODY>
<h1>Error Handling example (VBScript)</h1>
<%
Dim errLoop
Dim strError
On Error Resume Next
' Intentionally trigger an error.
Set cnn1 = Server.CreateObject("ADODB.Connection")
cnn1.Open "nothing"
If cnn1.Errors.Count > 0 Then
' Enumerate Errors collection and display
' properties of each Error object.
For Each errLoop In cnn1.Errors
strError = "Error #" & errLoop.Number & "<br>" & _
" " & errLoop.Description & "<br>" & _
" (Source: " & errLoop.Source & ")" & "<br>" & _
" (SQL State: " & errLoop.SQLState & ")" & "<br>" & _
" (NativeError: " & errLoop.NativeError & ")" & "<br>"
If errLoop.HelpFile = "" Then
strError = strError & _
" No Help file available" & _
"<br><br>"
Else
strError = strError & _
" (HelpFile: " & errLoop.HelpFile & ")" & "<br>" & _
" (HelpContext: " & errLoop.HelpContext & ")" & _
"<br><br>"
End If
Response.Write ("<p>" & strError & "</p>")
Next
End If
%>
</BODY>
</HTML>
<!-- EndErrorExampleVBS -->