Wenn ich hier richtig mitlese, ist die endlose Kärrnerarbeit von zahllosen Try-Einfügungen auch bei Profis äußerst unbeliebt. Das kann man wirklich nicht besser machen?
Im Prinzip hat man nur die Möglichkeit konsequent Logik und linearen Programmablauf (eventuell auch Resourcenschutz) in einzelne Methoden aufzutrennen.
Delphi-Quellcode:
type
TMyObject = class(TObject)
protected
procedure TuWas;
procedure TuWasMitObject(AObject: TObject);
procedure TuWasAnderes;
public
procedure TuIrgendWas;
end;
implementation
procedure TMyObject.TuWas;
var
lObject: TObject;
begin
lObject := TObject.Create;
try
TuWasMitObject(lObject);
finally
lObject.Free;
end;
end;
procedure TMyObject.TuWasAnderes;
begin
{...}
end;
procedure TMyObject.TuIrgendWas;
begin
try
TuWas;
except
TuWasAnderes;
end;
end;
Bei Interfaces biete es sich an die Exceptionbehandlung in einem Decorator(Entwurfsmuster) zu implementieren.