Rubrik: Entwicklungsumgebung · Fehlerbehandlung | VB-Versionen: VB4, VB5, VB6 | 05.07.03 |
Fehler mit OnError Goto / Resume Next abfangen Fehler abfangen, überspringen und Fehlerbehandlung abschalten | ||
Autor: Thomas Föcking | Bewertung: | Views: 92.627 |
foecking.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Viele kennen die Fehlerbehandlung On Error. Hier ein kleines Beispiel:
Sub fehler1() ' Bei Fehler nach err_fehler1 verzweigen On Error Goto err_fehler1 x = 5 / 0 Exit Sub err_fehler1: Msgbox Err.Description End Sub
Bei Division durch 0 erfolgt ein Fehler. Somit wird bei der Sprungmarke err_fehler1 fortgefahren. Vielleicht möchte man den Fehler ignorieren und normal mit dem Ablauf des Codes fortfahren. Dann müsste man On Error Resume Next erwenden:
Sub fehler2() ' Fehler ignorieren On Error Resume Next x = 5 / 0 x = 1 / 2 MsgBox x End Sub
Einige Programmteile möchte man aber nicht unter Fehlerbehandlung haben, so würde man es folgendermaßen implementieren:
Sub fehler2() ' Fehler ignorieren On Error Resume Next x = 5 / 0 ' Fehlerbahendlung ausschalten! On Error Goto 0 x = 1 / 0 End Sub
Die erste Division durch Null wird übersprungen (Resume Next), wohingegen die zweite Division durch Null zu einem Laufzeitfehler führt, da mit On Error Goto 0 die Fehlerbehandlung wieder ausgeschaltet wird.