我在一个类中有不同的函数被调用。现在我想以通用方式实现自定义全局错误管理。
我的函数有:
function TTestClass.DoWorkA(parameter : String): boolean;
begin
try
result := internalClass.DoWorkA(parameter);
except
DoStuff();
end;
end;
function TTestClass.DoWorkB(): String;
begin
try
result := internalClass.DoWorkB();
except
DoStuff();
end;
end;
我需要在每个方法中插入try except块。这个块不改变,始终保持相同。现在我想以通用的方式解决这个问题(伪代码):
function TTestClass.DoWorkA(parameter : String): boolean;
begin
result := DoWork<boolean>(internalClass.DoWorkA,parameter);
end;
function TTestClass.DoWorkB(): String;
begin
result := DoWork<string>(internalClass.DoWorkB);
end;
function TTestClass.DoWork<T>(function : TFunction;parameter : TParameters): T;
begin
try
result := Call(function,parameter);
except
DoStuff();
end;
end;
我脑海中有这样的想法,但是我没有找到用这段代码解决它的方法。
在Delphi中有没有实现这样的方法的方式?
DoWork()
。 - Remy Lebeau