gpt4 book ai didi

delphi - 记录后我应该如何重新引发 Delphi 异常?

转载 作者:行者123 更新时间:2023-12-03 14:33:47 25 4
gpt4 key购买 nike

您知道在 Delphi 代码中捕获、记录和重新引发异常的方法吗?一个简单的例子:

procedure TForm3.Button1Click(Sender: TObject);
begin
try
raise Exception.Create('Bum');
except
on E: Exception do
begin
MyHandleException(E);
end;
end;
end;

procedure TForm3.MyHandleException(AException: Exception);
begin
ShowMessage(AException.Message);
LogThis(AException.Message);
// raise AException; - this will access violate
end;

所以我需要在 except block 中重新引发它,但我想知道是否有更好的方法来编写我自己的方法来处理和(在特定条件下)重新引发异常。

最佳答案

如果您只想在某些条件下重新引发异常,请编写

procedure TForm3.Button1Click(Sender: TObject);
begin
try
raise Exception.Create('Bum');
except
on E: Exception do
begin
if MyHandleException(E) then
raise;
end;
end;
end;

function TForm3.MyHandleException(AException: Exception): boolean;
begin
ShowMessage(AException.Message);
result := true/false;
end;

关于delphi - 记录后我应该如何重新引发 Delphi 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com