Ich würde die
Exception abfangen, etwas Zuckerguss auf die Fehlermeldung streuen (*) und die
Exception weiter nach oben geben.
Delphi-Quellcode:
try
ApdComPort.PutString(AValue);
// AValue = String, der geschickt werden soll
except
on E:
Exception do
begin
E.
Message := '
Fehler beim Schreiben auf serielle Schnittstelle'#13#10 + E.
Message
raise;
end;
end;
*) Eine gute Fehlermeldung sieht so aus:
zuerst kommt eine allgemeine Fehlerbeschreibung, die dem Benutzer eine Information gibt, was gerade passiert ist.
Daran anhängend sollte eine genauere Info sein, die möglicherweise nur der Programmierer versteht (z.B. "errorcode 5815" oder "comport not opened").
Wichtig ist, dass keine Fehlerinformation verloren geht oder durch eine allgemeine und nichtssagende Meldung überdeckt wird.
Deshalb sollte man auch die orginale Exceptionklasse beibehalten, denn auch im Klassenname steckt eine gewisse Information.
In .NET kann man Exceptions auch schachteln, was natürlich noch eleganter ist.