Puh, das driftet jetzt aber sehr ab...
Noch meldet sich Daniel ja nicht...
Tut mir leid, gerade diese Routine schreit danach ein Prozedur zu sein die im Fehlerfall eine
Exception wirft.
Nirgendwo in dem Code ist ersichtlich, ob die Prüfmethoden irgendwo einen Fehler vermerken, der nach einem False-Return irgendwo ausgewertet wird.
Bitte die Kirche im Dorf lassen. Das ist doch nur ein Minimal-Pseudo-Beispiel.
In der Realität - wie gesagt, gegenwärtiger Erkenntniszustand - handhabe ich das unter anderem so, dass bei solchen Konstrukten alle beteiligten Funktionen durch
Try
abgesichert sind, also keine
Exception weitergereicht werden kann.
Exceptions empfinde ich immer so als Methode mit dem Vorschlaghammer.
Genau. Jetzt driften wir noch weiter ab, aber bis Daniel einschreitet: Ich verwende die
GDI+-
Unit von
Erik van Bilsen. Stolz verkündet Erik, er habe die "alten" Statuscodes von GDIPlus durch moderne Delphi-Exceptions ersetzt und er fügt hinzu: "
This way, your error checking code doesn't interrupt the normal flow of your code, and you can respond to errors in a Delphi way." Eine für mich mehr als kryptische Aussage, denn diese Konstruktion führt dazu, dass bei der Abfrage von zum Beispiel 8 GPS-Tags bei 3.000 JPG ohne GPS-Informationen (häufiger Normalfall bei Systemkamera) es zu 24.000 Fehlermeldungen kommt.
Um auf Uwe zu antworten: In den aufgerufenen Routinen stecken Fehlercodes, im am Schluss möglichst zielgerichtet ausgewertet und erst dann dem Anwender präsentiert werden. Man nehme als Beispiel IrfanView: Das registriert beim Einlesen haufenweise Fehler, sagt aber nur dann was, wenn es wirklich notwendig ist. Weiß nicht, ob es der Weisheit letzter Schluss ist, aber ich sammle zurzeit die Fehler in einem Set und schaue am Schluss, was die beste Reaktion ist.