Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Problem mit globalem Exception Handling

  Alt 5. Sep 2009, 15:15
Zitat von Gravitar:
Also z.B. so:

Delphi-Quellcode:
MyErrorObject := EdTurnierDatum; //MyErrorObject ist vom Typ TObject
// Hier passiert jetzt eine Exception, da das Datum ungültig ist
datum := strtodate(EdTurnierDatum.text,fsDate);
Nö. Behandel die Exception da wo sie ausgelöst wird:

Delphi-Quellcode:
  try
  // Hier passiert jetzt eine Exception, da das Datum ungültig ist
  datum := strtodate(EdTurnierDatum.text,fsDate);
  except
    // normalerwesie hier mit on... auf den erwarteten Exceptiontyp testen!!
    ShowMessage('Bitte ein gültiges Datum eingeben');
    EdTurnierDatum.text := '';
    EdTurnierDatum.SetFocus;
  end;
Nochmal: der globale Exceptionhandler sollte für erwartete Fehler nicht benutzt werden. Diese Fehler sollten da behandelt werden wo sie passieren (können). An der Stelle wo es passiert hast du die volle Kontrolle über den aktuellen Kontext. Im obigen Beispiel: da weisst du genau welches Edit für den Fehler verantwortlich war, kannst eventuell einen Default-Wert in das Feld schreiben und dann den Focus korrekt setzen.
Ralf Kaiser
  Mit Zitat antworten Zitat