Error-Objekt - Bereinigung

Bereinigen des Error-Objekts

Wenn ein Fehler auftritt, behält das Fehlerobjekt solange die Fehlerdaten, bis das Fehlerobjekt bereinigt wird.

Sub DivideByZero()
 
    Dim i As Integer
    On Error Resume Next
    i = 8 / 0
    If Err.Number <> 0 Then
        MsgBox "Es trat ein Fehler auf!"
    End If
    i = 8 / 4
    If Err.Number <> 0 Then
        MsgBox "Es trat ein Fehler auf!"
    End If
 
End Sub

In diesem Beispiel wird zweimal ein Fehlerhinweis angezeigt, obwohl nur die erste Division zu einem Fehler führt!

Das Fehlerobjekt sollte demnach sofort nach dem Fehler-Handling bereinigt werden; hierzu stellt und das Error.Objekt die Clear-Methode zur Verfügung:

Sub DivideByZero()
 
    Dim i As Integer
    On Error Resume Next
    i = 8 / 0
    If Err.Number <> 0 Then
        MsgBox "Es trat ein Fehler auf!"
    End If
    Err.Clear
    i = 8 / 4
    If Err.Number <> 0 Then
        MsgBox "Es trat ein Fehler auf!"
    End If
    Err.Clear
 
End Sub

Das Error-Objekt wird ebenfalls nach jeder Resume-Anweisung initialisiert.