Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

auch ich: error anweisung

auch ich: error anweisung
15.01.2004 10:16:34
Jonathan
ich habe von K.Rola einen super code bekommen (s. weiter unten im Forum) womit eine fehlerbeschreibung in ein sheet geschrieben wird.
nun zu meiner frage:
diesen code müsste ich in jedes modul, in jede sub extra schreiben, gibt es eine möglichkeit, das zu vereinfachen? dass ich es einmal schreibe und es automatisch auf alle subs (wichtig: auch denen einer UF) angewand wird?

Jonathan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auch ich: error anweisung
15.01.2004 10:44:26
K.Rola
Hallo,
die Function schreibst du nur e i n m a l in ein Standardmodul.
Die Fehlerbehandlungsroutine, also das on Error goto....
muss natürlich in jede Prozedur, in der du einen Fehler erwartest.
Gruß K.Rola
AW: auch ich: error anweisung
15.01.2004 11:04:32
jonathan
guten morgen K.Rola!
das habe ich auch gemacht........
nur die error anweisung an sich in ungefähr 200 subd zu schreiben ist halt ziemlich langwierig.......
es gibt keine möglichkeit, die error anweisung einmal für alle zu schreiben?

Jonathan
AW: auch ich: error anweisung
15.01.2004 11:07:46
K.Rola
Hallo,
nein, das ist nicht möglich!
Gruß K.Rola
AW: auch ich: error anweisung
15.01.2004 11:08:42
Jürgen Schaetzke
Hallo Jonathan,
nein, das geht leider nicht.
Wenn du eine Fehlerprozedur an oberstere Stelle definierst, d.h. eine Sub oder Function und von dort aus weitere Subs aufrufst und dort wieder und dann ein Fehler auftritt, dann wird jede aufgerufene Sub verlassen bis zur Prozedur, in der die Fehlerbehandlung definiert wurde und diese dann angesprungen. Damit werden Befehle der unteren Prozeduren nicht ausgeführt und das Programmverhalten unkalkulierbar.
Zudem soll ja die Reaktion auf Fehler nicht immer gleich ausfallen.
Einmal ist der Fehler nicht relevant, dann schreibt man "On Error resume next", dann wieder will man eine bestimmte fehlerbehandlung auslösen mit "On Error goto XYZ", wie z.B. eine Log datei schreiben oder auch nur eine Fehlermeldung bringen oder die Fehlerbehandlung aufheben mit "On Error goto 0"
Ciao Jürgen
Anzeige
AW: auch ich: error anweisung
15.01.2004 11:34:34
jonathan
Hallo Ihr beiden!
Jürgen, den ersten Abschnitt musst du mir noch genauer erklären:
ich versteh das so, dass wenn eine sub ausgeführt wird, in der ein fehler enthalten ist, dort abgebrochen wird und weitere nicht ausgeführt werden?!
wenn ich also eine sub habe, bei der am ende steht:
application.run ("XY") und dovor ein fehler auftritt, wird xy nicht ausgeführt?

Jonathan
AW: auch ich: error anweisung
15.01.2004 12:17:52
Jürgen Schaetzke
Hallo Jonathan,
Ein Beispiel:

Private Sub S1()
On Error goto Errorhandler
Call Sub2
Exit sub
Errorhandler:
Msgbox "Fehler"
End Sub

Private Sub2()
call sub3
End Sub

Private Sub3()
dim eingabe as integer
dim Erg as integer
Eingabe = VBA.CInt(InputBox("Geben Sie eine Zahl an", "Quadrat"))
Erg=Quadrat(Eingabe)
End Sub

Wenn jetzt der Anwender anstatt einer Zahl einen Alphawwert angibt, so wird ein fehler erzeugt. Da in Sub3 keine fehlerbehandlung ist, beendet er Sub3, beendet auch Sub2, da auch hier keine Fehlerbehandlung steht und springt in die Fehlerbehanldung von sub1.
Damit wird Code, der hinter dem Aufruf von Sub2 und Sub3 stehen könnte, nicht mehr ausgeführt.
Das erscheint in der Praxis normalerweise nicht sinnvoll, da Variableninhalte unkalkulierbare Ergebnisse beinhalten könnten.
Ciao Jürgen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige