Delphi可以告诉我抛出异常的例程的名称吗?

前端之家收集整理的这篇文章主要介绍了Delphi可以告诉我抛出异常的例程的名称吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道如何在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;

我将收到一条消息/对象/任何指示我’bla’中出现错误’x’的内容.

我知道关于madexcept,有另一种方法来捕捉异常吗?

我正在使用Delphi 7.解决方案也可能适用于其他Delphi版本.

解决方法

您可以使用JclDebug.pas单元中的ProcByLevel函数,它是 JCL库的一部分.

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

然后你可以这样使用它

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;

结果是这样的

原文链接:https://www.f2er.com/delphi/103148.html

猜你在找的Delphi相关文章