"Informationanreicherung" wäre hier das Mittel der Wahl.
Das macht natürlich etwas Arbeit, weil man die Exceptions abfangen muss
und mit lokalen Informationen anreichert.
Delphi-Quellcode:
try
DM_ADOQuery1.open;
except
on E:
Exception do
begin
E.
Message := '
Fehler in Abfrage '+ GetComponentName(DM_ADOQuery1)+#13#10+
E.
Message;
raise;
// Exception erneut auslösen
end;
end;
Hier noch die Hilfsfunktion
Delphi-Quellcode:
function GetComponentName(comp:TComponent) : string;
begin
Result := comp.Name;
if Result = '' then
begin
// wenn die Komponenten keinen Namen hat, dann vielleicht einen Index
if comp.ComponentIndex <> -1 then
Result := '['+comp.ClassName+'#'+IntToStr(comp.ComponentIndex)+']'
else
// nur Klassenname
Result := '['+comp.ClassName+']';
end;
end;