Kennt Jemand eine Möglichkeit wie man in Delphi den Namen der
Prozedur ermitteln kann, in der man sich gerade befindet?
Folgender Hintergrund:
Tritt in einer Prozedur ein Fehler auf, so soll aus einem
TRY/EXCEPT-Block eine allgemeine Fehlerbehandlungs-Prozedur
aufgerufen werden. Dabei soll für Protokollzwecke der Name
der Prozedur übergeben werden, damit man später nachvollziehen
kann wo der Fehler aufgetreten ist.
Bisher habe ich dieses Problem so gelöst:
Delphi-Quellcode:
procedure DatenLesen;
var
ProcName: AnsiString; //Name der aktuellen Prozedur
begin
ProcName := 'DatenLesen'; //Prozedurname manuell zuweisen
try
DoIrgendwas; //Code ausführen
except
Fehlerbehandlung(ProcName); //Unerwartete Fehler protokollieren
end;
end;
Diese Lösung hat leider den Nachteil, daß man beim Ändern des
Prozedurnamen auch der Variablen einen anderen Text zuweisen muß.
Vergisst man die zweite Änderung oder vertippt man sich, gibt es
Durcheinander.