Freigeben über


Methode "Clear"

Löscht alle property-Einstellungen des Err-Objekts.

Syntax

object.Clear

Bei object handelt es sich immer um ein Err-Objekt.

Hinweise

Verwenden Sie Clear, um das Err-Objekt explizit zu löschen, nachdem ein Fehler behandelt wurde, z. B., wenn Sie die verzögerte Fehlerbehandlung bei On Error Resume Next verwenden. Die Clear-Methode wird automatisch aufgerufen, sobald eine der folgenden Anweisungen ausgeführt wird:

  • Alle Arten von Resume-Anweisungen
  • Exit Sub, Exit Function, Exit Property
  • Eine On Error -Anweisung

Hinweis

Das On Error Resume Next -Konstrukt ist möglicherweise On Error GoTo bei der Behandlung von Fehlern vorzuziehen, die während des Zugriffs auf andere Objekte generiert wurden. Durch Überprüfung von Err nach jeder Interaktion mit einem Objekt werden hinsichtlich der Frage, auf welches Objekt über den Code zugegriffen wurde, Mehrdeutigkeiten vermieden. Sie können sicher sein, welches Objekt den Fehlercode in Err.Number platziert und welches Objekt den Fehler ursprünglich generiert hat (das in Err.Source angegebene Objekt).

Beispiel

In diesem Beispiel wird zum Zurücksetzen der numerischen Eigenschaften des Err -Objekts auf null und seiner Zeichenfolgeneigenschaften auf die Länge null die Clear -Methode des Err -Objekts verwendet. Wenn Clear im folgenden Code weggelassen würde, würde das Dialogfeld mit der Fehlermeldung bei jeder Iteration der Schleife (nach einem Fehler) angezeigt werden, unabhängig davon ob bei einer zweiten Berechnung ein Fehler generiert wurde. Sie können die einzelnen Schritte des Codes durchlaufen, um die Auswirkungen zu sehen.

Dim Result(10) As Integer    ' Declare array whose elements 
            ' will overflow easily.
Dim indx
On Error Resume Next    ' Defer error trapping.
Do Until indx = 10
    ' Generate an occasional error or store result if no error.
    Result(indx) = Rnd * indx * 20000
    If Err.Number <> 0 Then
        MsgBox Err, , "Error Generated: ", Err.HelpFile, Err.HelpContext
        Err.Clear    ' Clear Err object properties.
    End If
    indx = indx + 1
Loop

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.