加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:11:55 所属栏目:大数据 来源:网络整理
导读:我知道如何在delphi中捕获异常(try..except / finally和e.message)但我想知道是否存在可以引发异常的异常处理机制以及引发它的例程的名称.通过例子 procedure/function bla();//this can be in a unit/classbegin code.... an error is raised here - inside
我知道如何在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;

结果是这样的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读