gpt4 book ai didi

delphi - Delphi 可以告诉我引发异常的例程的名称吗?

转载 作者:行者123 更新时间:2023-12-03 15:36:57 27 4
gpt4 key购买 nike

我知道如何在delphi中捕获异常(try.. except/finally和e.message),但我想知道是否存在可以引发异常的异常处理机制以及引发异常的例程的名称。举例说明

procedure/function bla();//this can be in a unit/class
begin
code....
an error is raised here -> inside or not of an try-except/finally block
end;

我将收到一条消息/对象/任何内容,表明错误“x”是在“bla”中引发的。

我了解 madexcept,还有另一种方法可以像它们一样捕获异常吗?

我使用的是 Delphi 7。解决方案也可能适用于其他 Delphi 版本。

最佳答案

您可以使用 JclDebug.pas 单元中的 ProcByLevel 函数,该单元是 JCL 的一部分。图书馆。

在使用之前,您必须从 Ide 菜单工具 ->jcl 选项激活选项“将 JDBG 数据插入二进制文件”

alt text

然后就可以这样使用了

Uses
JclDebug;

procedure TForm18.Button1Click(Sender: TObject);
begin
try

raise Exception.Create('Hello from '+ProcByLevel(0));
except
on e : Exception do
ShowMessage(e.Message);
end;
end;

结果是这样的

alt text

关于delphi - Delphi 可以告诉我引发异常的例程的名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146681/

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