Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Programmiertechnik- Programm beenden

Programmiertechnik- Programm beenden
06.10.2004 10:57:28
Wolfgang
Hallo.
Ich arbeite an einem umfangreichen AddIn mit vielen Subs und Functions.
Dabei werden auch Textdateien eingelesen, bearbeitet, ins Excel übertragen usw.
Wie behandle ich auftretende Fehler z.B. wenn eine Datei nicht vorhanden ist?
Zur Zeit gebe ich eine msgbox aus und beende dann mit end. Ich denke aber das das keine schöne Methode ist.
Wie mach ich das am besten?
Dank, Gruß Wolfgang

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programmiertechnik- Programm beenden
06.10.2004 11:14:23
ANdreas
Hallo Wolfgang,
du machst eine If-Abfrage, wenn die nicht erfüllt ist, wird der ganze Rest einfach nicht durchlaufen und gleich ans Ende gesprungen.
Wie Du prüfen kannst ob eine Datei vorhanden ist, zeigt Hans in seiner Excel-FAQ:
https://www.herber.de/mailing/074599h.htm
Wenn Du das in einer Function machst, kannst Du ja Rückgabewerte an die aufrufende Sub zurückgeben und dort je nachdem, entscheiden was geschehen soll. (-1 könnte dabei z.B. als Fehler stehen)
End braucht man dabei eigentlich nicht.
Hoffe das hilft weiter,
Andreas
Anzeige
AW: Programmiertechnik- Programm beenden
06.10.2004 11:20:01
Wolfgang
Bedeutet das ich sollte alle subs in functionen umbauen und im fehlerfalle einen Wert zurückgegen, mit dem im Hauptprogramm die Ausführung von weiterem Code verhindert wird?
Ist das gängige Vorgehensweise?
AW: Programmiertechnik- Programm beenden
06.10.2004 11:37:21
ANdreas
Hallo Wolfgang,
also ich habe es so gelernt.
Wer sonst als das Hauptprogramm soll das entscheiden?
Eine Funktion wird in der Regel von verschiedenen Prozeduren aufgerufen - die teilweise unterschiedlich auf Fehler reagieren müssen. Im Idealfall sollte die Funktion nichts beenden und es der aufrufenden Sub überlassen.
Auch wenn Du nur in einer Sub eine Funktion mehrmals aufrufst, kann es ja durchaus vorkommen, das ein Fehlerrückgabewert unterschiedlich behandelt wird (einmal z.B. neue Eingabe des Users erforderlich, dadurch erneuter Aufruf der Funktion, das andere mal stört eine fehlerhafte Eingabe evtl. nicht, weil Du z.B. einen Standardwert nehmen kannst).
Ausnahme könnte man natürlich machen, wenn Du 100% weißt, das ein bestimmter Fehler in einer Funktion immer sofort zum Abbruch führen soll.
Dann nimmst Du Dir aber zum Beispiel die Möglichkeit, wenn das Hauptprogramm noch irgendetwas vor dem Beenden machen muss - dieser Fall kann sich ja zum Beispiel erst in einer Woche ergeben - weil ein Anwender irgendwas neues haben möchte. Daher wäre es schon ratsam, es zu lösen wie beschrieben.
Gruß
Andreas
Anzeige
AW: Programmiertechnik- Programm beenden
06.10.2004 11:49:03
Wolfgang
Ja gut, leuchtet mir völlig ein.
Dankeschön!!

246 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige