Behandeln von Fehlern in VBScript
Es gibt kaum einen Unterschied zwischen den Methoden, die in Visual Basic und mit VBScript verwendet werden. Der Hauptunterschied besteht darin, dass VBScript das Konzept der Fehlerbehandlung durch Fortsetzen der Ausführung bei einer Bezeichnung nicht unterstützt. Anders ausgedrückt: Sie können On Error GoTo
in VBScript nicht verwenden. Verwenden Sie stattdessen On Error Resume Next
, und überprüfen Sie anschließend err.Number und die Count-Eigenschaft der Errors-Auflistung, wie im folgenden Beispiel gezeigt:
<!-- 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 -->