Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#1

Fehler in eigenen Komponenten "behandeln"

  Alt 20. Dez 2016, 22:06
Hallo zusammen

Wie der Titel schon sagt stellt sich mir die Frage nach dem best practice für die Behandlung von Fehlern wie z.B. Ungültige Parameter in Funktionen und Prozeduren in selbst geschriebenen Komponenten.
Ein Beispiel: in meiner Komponente gibt es eine Prozedur

Procedure SendText(const UserID : Integer; Text : String); Es geht hier beispielhaft um den Parameter UserID, welcher größer 0 sein muss. Dies möchte ich bei einer falschen Übergabe z.B. -1 (da intern für eigene Zwecke reserviert) dem User mitteilen. Mir kommen folgende Möglichkeiten und ich wollte fragen wie ihr das lösen würdet:

1.) MessageDlg
Vorteil: Kontrolle an Ort und Stelle in der entsprechenden Funktion der Komponente
Nachteil: der Programmfluss wird gestört und der User kann in seinem Programm nicht selbst reagieren

2. "Error-Event" mit Übergabe der "Fehlernummer"
Vorteil: Volle Kontrolle der Reaktion durch den Benutzer
Nachteil: völlig unabhängige Fehler werden in einer einzigen Routine behandelt was IMHO sehr unübersichtlich werden könnte. Sowohl intern in der Komponente als auch im eigentlichen Programm

3. Exception-Handling
Sehr wenig Erfahrung ehrlich gesagt, da ich in meinen Programmen dies bisher immer zuverlässig selbst durch Prüfung der Eingaben etc. abgefangen habe, so dass die Funktion des Programmes ohne "falsche" Eingabe gar nicht erst aufgerufen wurde. Das Exception-Handling wirkt auf mich immer so "hart" wenn Fehler auftreten. Sollte dies nicht schon durch Plausibilitätsprüfungen der Eingaben etc. abgefangen werden?

Wie löst ihr solche Probleme oder welche Methode würdet ihr wählen?

Beste weihnachtliche Grüße,
Michael
Michael Kübler
  Mit Zitat antworten Zitat