Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Errorhandling

Errorhandling
01.11.2003 17:22:28
Ina
Hallo,

ich habe das Problem zweier aufeinanderfolgender Fehlerbehandlungen.
Während der erste Fehler erwartungsgemäß abgefangen wird, klappt das beim Zweiten nicht. Der vereinfachte Code lautet:


Sub test()
On Error GoTo errorhandler1
a = b / 0
On Error GoTo 0
errorhandler1:
If Err.Number <> 0 Then
On Error GoTo errorhandler2
a = b / 0                'Dieser Fehler wird nicht abgefangen
On Error GoTo 0
errorhandler2:
End If
End Sub


Was könnte ich ändern?

Danke!

Gruß
Ina

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Errorhandling
01.11.2003 17:46:54
PeterW
Hallo Ina,

du könntest beispielsweise die Division durch 0 mit einer Prüfung verhindern:

If x <> 0 Then
a = b / x
End If

oder, sofern die Division in einer Schleife durchgeführt wird mit On Error Resume Next die Schleife fortsetzen.

Gruß
Peter
AW: Errorhandling
01.11.2003 18:32:25
Ina
Danke, Peter,

mit dem 'Resume Next' funktioniert das.

...obwohl mir nicht ganz klar ist, warum es mit dem 'On Error Goto' nicht geklappt hat.

Gruß
Ina
AW: Errorhandling
01.11.2003 19:07:12
FP
Hallo Ina,

nach einem ON ERROR muss ein RESUME erfolgen, sonst kommt es zu einem Überlauffehler!

ein Beispiel:


Sub test()
On Error GoTo errorhandler1
a = b / 0
Test2:
On Error GoTo errorhandler2
a = b / 0
errorhandler1:
Resume Test2
errorhandler2:
End Sub


Servus aus dem Salzkammergut
Franz
Anzeige
AW: Errorhandling - Nachtrag
01.11.2003 19:11:49
FP
Hallo Ina,

das "Sprungziel" darf dabei natürlich auch innerhalb der Fehlerbehandlung liegen.

Beispiel:

Sub test()
On Error GoTo errorhandler1
a = b / 0
Exit Sub
errorhandler1:
MsgBox "Fehler #1"
Resume Test2
Test2:
On Error GoTo errorhandler2
a = b / 0
errorhandler2:
MsgBox "Fehler #2"
End Sub


Servus aus dem Salzkammergut
Franz
AW: Errorhandling - Nachtrag
01.11.2003 22:21:02
Ina
Hallo Franz,

das Resume war der Schlüssel, Danke!

Gruß
Ina

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige