Fehlerbehandlung

In Visual Basic kann man Operationen programmieren von welchen man weiss, dass diese zwangsläufig zu einem Fehler führen werden. Nehmen wir beispielsweise das Löschen einer Datei auf der Diskette an. Der Befehl dafür lautet:

kill "A:\muster.txt" 

Wie viele mögliche Fehler können Sie sich vorstellen?

Alle diese Fehler würden eine unschöne Meldung am Bildschirm des Anwenders bewirken wenn der Fehler nicht abgefangen wird.

 

Ihre Aufgabe

Geben Sie im Direktfenster den obigen Befehl zum löschen einer Diskette ein und bewerten Sie die erscheinende Fehlermeldung in Bezug auf den Endanwender.

Mit der On Error Anweisung kann man voraussehbare Fehler überspringen und eine eigene Fehlerbehandlung programmieren

Sub QuellDatenLoeschen()
   On Error Goto DiskFehler
      Kill "A:\Muster.txt" 
   On Error Goto 0
   Exit Sub

DiskFehler
   MsgBox "Fehler beim Löschen der Datei"
   Resume Next
End Sub

Die Anweisung On Error Goto DiskFehler springt beim Auftreten eines Fehlers zur angegebenen Fehlerbehandlungsroutine welche sich innerhalb der gleichen Procedur befinden muss.

Resume Next kehrt zur Fehlerverursachenden Zeile zurück.

On Error goto 0 schaltet die Fehlerbehandlung wieder aus, sollte nach dieser Zeile ein Fehler auftreten würde dieser wieder angezeigt.

Alternativ geht auch folgender Programmcode:

Sub QuellDatenLoeschen()
   On Error resume next
      Kill "A:\Muster.txt"
      if err <> 0 then
         MsgBox "Fehler beim Löschen der Datei"
      end if
   On Error Goto 0
End Sub

Dabei wird der Fehler unmittelbar nach auftreten behandelt. Sollte der Fehler an zwei Orten im Programmcode auftreten wäre die erste Variante zu bevorzugen.

Err.Number enthält die Nummer des auftretenden Fehlers
Err.Description enthält eine Beschreibung des aufgetretenen Fehlers

 

Ihre Aufgabe