Behandeln von Fehlern in VBScript
Gilt für: Access 2013, Office 2013
Es gibt kaum Unterschiede zwischen den in Visual Basic und VBScript verwendeten Methoden. Der wichtigste Unterschied ist, dass in VBScript das Konzept der Fehlerbehandlung durch Fortsetzen der Ausführung an einer Marke nicht unterstützt wird. Anders ausgedrückt: Sie können On Error GoTo in VBScript nicht verwenden. Verwenden Sie stattdessen in VBScript On Error Resume Next ( On Error Resume Next), und überprüfen Sie dann sowohl Err.Number als auch 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 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 -->