Geschrieben von m14 am 24.08.2004, 14:16

In VB taucht es öfters auf, dass Laufzeitfehler auftreten, wenn ein unvorhergesehener Fehler auftritt.
Meistens treten diese Fehler auf wenn man auf irgendwelche Hardware zugreift.
z.B.: EIne Netzwerkverbindung ist nicht möglich, Eine nicht formaterte Diskette liegt in einem Laufwerk auf das zugegriffen wird oder ein Drucker hat kein Papier bzw. Tinte.
Es ist möglich diese Fehler mit der On Error-Anweisung abzufangen
Der Syntax lautet, wie folgt:
On Error GoTo Sprungamrke
Es ist oft ratsam für die Fehlerbehandlung eine Sprungmarke zu setzen, da dies den Programmtext übersichtlicher macht.
In der Sprungmarke frägt man normalerweise mithilfe einer If...Then-Konstruktion die Fehlernummer (Err.Number) ab.
Nach der Fehlerbehebung durch den User (am besten mit einer MsgBox, die den User dazu auffordern, den Fehler zu beheben) setzt man eine Resume-Anweisung, um die Anweisung fortzusetzten. die den Fehler verursacht hat.
Sollte man den Fehler nicht beheben können benutzt man die Anweisung Resume Next. Dadurch wird der Programmtext nach der Anweisung, die den Fehler verursacht fortgesetzt.
Durch die Anweisung Resume Sprungmarke wird der Programmablauf an der Sprungmarke fortgesetzt.
Bsp: Das Programm greift auf eine Diskette zu.

On Error GoTo DiskError
Exit Sub 'Prozedur unterbrechen
DiskError
If Err.Number = 71 Then 'Wenn das Laufwerk nicht bereit ist
Then MsgBox ("Bitte legen sie eine Diskette ein")
Resume
End If

Um die Nummer der Laufzeitfehlers herauszufinden testen sie das Programm in der VB-Oberfläche.
Dort wird dann die Fehlernummer angegeben.

Bewertung Anzahl
6
33,3 %
1 Bewertungen
5
66,7 %
2 Bewertungen