Guten Morgen.
Den automatischen Programmabbruch nach einem Fehler kann man mit
"on error resume next" verhindern. Tritt nun ein Fehler auf, wird nur das entsprechende Kommando abgebrochen und mit der nächsten Anweisung fortgefahren. Der aufgetretene Fehler wird im err-Objekt gespeichert und kann mit "err.number" und "err.description" abgefragt werden. Anschließend sollte man mit "err.clear" den Fehlerstatus wieder auf null setzen.
kleines Beispiel:
sub kritischeSub
on error resume next
kritischerBefehl
if (err.number = 0) then
msgbox "OK"
else
msgbox "FEHLER: " & err.description
err.clear
end if
end sub
noch ein paar anmerkungen dazu:
"on error resume next" hat gültigkeit bis zum ende der jeweiligen sub/function oder bis "on error goto 0".
sollte nur dort verwendet werden, wo es unbedingt notwendig ist, da sonst auch kleinere Programmierfehler mit übersprungen werden und nur schwer gefunden werden können.
abfrage der fehlers unmittelbar nach der kritischen anweisung, da sonst nachfolgende anweisungen ebenfalls fehlschlagen können und das err-object wieder verändern.
mfg alex
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP