Anzeigen von Laufzeit-Fehlern verhindern

  • VB6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Gast.

    Leider hat VB keine globale Fehlerbehandlung (gibt's erst ab VB.net). Das bedeutet, dass man in absolut jeder Prozedur und Funktion eine eigene Fehlerbehandlung machen muss.

    Beispiel 1:

    Private Sub Test()
    On Error Resume Next
    MsgBox 1 / 0
    MsgBox "Fertig"
    End Sub

    Obwohl hier in Zeile 2 ein Laufzeitfehler auftreten müsste, läuft das Programm weiter (On Error Resume Next).

    Beispiel 2:

    Private Sub Test()
    On Error GoTo ErrorHandler
    MsgBox 1 / 0
    MsgBox "Fertig"
    Exit Sub
    ErrorHandler:
    MsgBox "Fehler!"
    End Sub

    Hier wird nach einem Fehler in den ErrorHandler Abschnitt verzweigt, die MessageBox mit "Fertig" wird also nicht angezeigt, sondern nur mit "Fehler".
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hallo,

    Mit dem Befehl 'ON ERROR RESUME NEXT' werden fast alle auftretenden Fehler abgefangen und das Programm weiter ausgeführt.
    Zusätzlich wird in der Variablen 'Err' eine Beschreibung des Fehlers gespeichert, und zwar so lange bis der nächste Fehler auftritt oder die 'Err' Variable mit 'Err.Clear' zurückgesetzt wird.

    Die Auswertung über die 'Err' Variable hat den Vorteil, das die Fehlerbehandlung gezielter (je nachdem welcher Fehler) programmiert werden kann.

    Select err.number
    case = 0: msgbox "Kein Fehler"
    case = 1: ....
    End Select