Zvazil bych re-raise vyjimek, tj. v
pseudokodu neco takoveho. Zbavis se tim zavislosti na vysledku funkce a pritom zachovas informace o vypadle vyjimce:
procedure ExecuteCommand;
begin
try
Command.ExecSQL;
except
DoSomeLogging; // zaloguj
raise; // reraise vyjimky
end;
end;
procedure ExecuteAllCommands;
begin
StartTransaction;
try
ExecuteCommand;
ExecuteCommand;
...
except
Rollback;
end;
end;
Co se tyce logovani, sahnul bych po nejakem hotovem reseni. Pouzival jsem od CodeSite a pro svuj ucel stacil, najdes ale urcite i spoustu open source reseni.
A pojdte do me ze jsem hloupy a ukazuju evil exception re-raise a promuju produkty
