【问题标题】:How to get the procedure name in Exception block [duplicate]如何在异常块中获取过程名称[重复]
【发布时间】:2013-12-29 15:01:13
【问题描述】:

我只能找到异常消息,如何获取程序名称?

procedure Division;
var
  i,j : Real;
begin
try
 i:=0;
 I:=10/i;
except on E: Exception do
  begin
    AppendtextFile (E.Message,'Exceptions.txt')
   end;
end;
end;

提前致谢

【问题讨论】:

    标签: delphi


    【解决方案1】:

    Embarcadero 提供的普通 Delphi 无法让您获得当前正在执行的过程名称。无论如何,这通常不是很有用,因为您的异常处理程序可能位于调用堆栈的某个位置。

    更有用的是导致异常的调用堆栈。你可以得到它,但同样不能使用普通的 Delphi。为了获得此类信息,您需要堆栈跟踪代码(很难做好),以及可执行文件的详细映射。有许多工具可以提供这样的服务:madExcept、EurekaLog、JCL debug 是最常用的。我个人可以推荐其中的第一个,尽管他们都做得很好。

    【讨论】:

    猜你喜欢
    • 2021-08-19
    • 2012-09-25
    • 2020-04-28
    • 2021-12-04
    • 2023-03-08
    • 2013-08-13
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多