Fehlerbehandlung mit Klassifizierung
Grober Programmaufbau:
Ich habe in dem Programm viel mit Kompositionen gearbeitet.
D.h.:
Am Anfang wird ein Objekt TestStand initiiert. In den Privatdaten dieses Objektes werden dann Prüfmodule der Klasse Module abgelegt, die je nach dem welche Module per Hardwarekennung im Prüfstand erkannt worden sind, mit gegebenen Konfigurationen (Tasks usw..) initiiert werden.
So hat man dann quasi eine ziemliche Verschachtelung an Objekten und kann eben leider nicht für jede Klasse eine eigene Fehlerleitung nutzen (obwohl ich diesen Ansatz sehr interessant finde), da ja in vielen SubVis verschiedene Objekte aufgerufen werden.
Man könnte natürlich die Fehler per Array oder Cluster zusammenfassen. Das würde aber auch wieder umfangreichere Umbauarbeiten zur Folge haben.
Objektorientiert heißt einfach, dass z.B. ein Prüfablauf nicht (nur) über eine State Maschine gesteuert wird, sondern z.b. einfach für jede zu testende Komponente eines Prüflings ein Objekt in einem Array abgelegt ist. Diese Objekte sind dann Subklassen von einer Klasse Komponente oder von spezielleren Klassen. Somit lassen sich viele Gemeinsamkeiten nutzen (z.B wenn nur ein Befehl für die serielle Ansteuerung unterschiedlich ist).
Soll einfach heißen, es gibt halt nicht so viele Cases wie bei rein funktionalen Programmen und deshalb werden evtl. Fehler nicht so oft bearbeitet, wenn man das nach jedem Case machen würde.
|