LabVIEWForum.de - errorhandling

LabVIEWForum.de

Normale Version: errorhandling
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallöchen,

dieses Mal habe ich ein kleines Problem mit der Programmstabilität.
Ich benutze das VI Aus Textdatei lesen (Brille - abc). Beim Starten fragt das Vi gleich nach einer Datei, weil ich den "Datei (Dialog verwenden)" nicht benutzte. Drücke ich jetzt abbrechen wird mir eine Fehlermeldung angezeigt.
Um dem entgegen zu wirken habe ich alles was hinter dem Vi kommt in eine case - Feld gesetzt und das Vi (abgebrochen) mit dem case verbunden. Leider passiert nicht das was ich mir vorstelle. Entweder der Abbruch geht ohne Fehlermeldung aber dann gibt es keine Dateiauswertung oder eben umgekehrt.

Was mache ich verkehrt?

Gerrit
Hallo auch,

na da komme ich ja doch nochmal dazu dir zu helfenSmile

Was du in deinem Fall brauchst nennt sich "Errorhandler". Dein SubVi (genauer gesagt der Dateidialog da drinnen) erzeugt dir einen Error, wenn du auf abbrechen gehst. Das ist auch sehr gut so. Alle Funktionen in LV, die einen Erroreingang besitzen werden nur ausgeführt, wenn kein Error vorhanden ist. Verbindest du also den Errordraht durch alle Funktionen durch, erzeugst du ein reibungsloses Verhalten. Es empfiehlt sich deswegen auch in allen SubVis Error Ein-, und Ausgänge einzubauen. Das aber nur als Nebenbemerkung.

Was bei dir passiert, ist, dass du den Errorausgang des "Brillen Vi" unverbunden läßt. Also endet die Errorverbindung hier und LV gibt dir den Fehler aus.
Ich habe nun 2 Dinge gemacht:

1. Einen Case an den Error angeschloßen. Dadurch wird automatisch der Rest vom Programm nur ausgeführt, wenn kein Error vorhanden ist (genau so machen es auch die eingebauten Vi's übrigens).

2. Einen "Errorhandler" angeschloßen. Hier kannst du den Error abhandeln (z.B. löschen) und LV auch sagen, was es tun soll. Ich habe es nun mal auf der Standardeinstellung (Messagebox) gelassen.

Noch eine Anmerkung: Bei komplexeren Programmen rentiert es sich durchaus einen guten Errorhandler zu schreiben. Also eine Stelle im Programm, wo alle Error zusammengeführt werden und dann je nach Error Code (per Case z.B.) verschiedene Maßnahmen durchgeführt werden.

Gruß
Danke Kvasir,

deine Antwort war wie immer sehr ausführlich so wie ich es als Lehring brauche.

Ich werde jetzt das fertige Programm zu Dennis schicken er soll es bei den Tutorials reinstellen damit die andern auch noch etwas davon haben.

Schaus dir mal an. Ich habe noch ein Foto und eine "technische Zeichnung" des Versuchsaufbaus von Michael bekommen.

Gruß
Gerrit
Referenz-URLs