Gestione degli errori in VBScript
C'è poca differenza tra i metodi usati in Visual Basic e quelli usati con VBScript. La differenza primaria è che VBScript non supporta il concetto di gestione degli errori continuando l'esecuzione in un'etichetta. In altre parole, non è possibile usare On Error GoTo
in VBScript. Al suo posto usare On Error Resume Next
e quindi controllare sia Err.Number che la proprietà Count della raccolta Errors, come illustrato nell'esempio seguente:
<!-- 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 -->