Hi,
Ich mach das immer so:
Jede Funktion hat einen Rückgabewert, der widerspiegelt, ob alles okay verlaufen ist oder nicht (z.B. S_OK). Wird nicht S_OK zurückgegeben, sollte es eine Möglichkeit geben, an die entsprechende
Exception zu kommen - manchmal brauchst du die ja z.B. gar nicht, warum sollte sie dann auch weitergeschleift werden. Dazu gibts bei mir immer eine Funktion die wie die
WinAPI Methode GetLastOSError arbeitet, nur dass sie eben einen anderen Namen und andere Returncodes hat. Als Rückgabewert kannst du dann z.B. ein Record oder ein Interface definieren o.ä. Das gibt dir dann auch die möglichkeit, eine Funktion zu basteln, in der die letzten n Exceptions angezeigt werden. Du speicherst also z.B. die Exceptions in einer Queue o.ä. Das ist dann hilfreich, wenn du wie gesagt eine Methode hast, die z.B. ein paar tausend Aufrufe hat aber nicht alle Fehler das Programm anhalten sollen - sondern lediglich als Information irgendwo stehen sollten. Damit kannst du z.B. immer wenn 20 Exceptions auftraten, die wegschreiben und so weiter (damit hat die Hauptprocedure mehr Rechenzeit, als wenn du jede
Exception einzeln wegschreibst statt auf einmal 20)
Gruß