处理 VBScript 中的错误
Visual Basic 中使用的方法与 VBScript 中使用的方法几乎没有区别。 主要区别在于,VBScript 不支持在标签处继续执行操作以处理错误。 即,无法在 VBScript 中使用 On Error GoTo
。 请改为使用 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 cnn1
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 -->