gpt4 book ai didi

delphi - 是否可以有一个全局异常钩子(Hook)?

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

我的代码很好地涵盖了异常处理(try.. except)。有些异常是预计不会发生的,有些异常经常发生,这是预料之中的,也是正常的。现在我想为这段代码添加一些自动化测试。最好知道执行期间发生了多少异常,这样我以后就可以查看是否引发了预期的数量或发生了任何意外情况。我不想用调试代码弄乱每个异常处理 block ,所以我的问题是:

有没有办法安装某种全局异常处理程序,它位于所有其他异常处理 block 之前?我正在寻找一个中心位置来记录这些异常。

感谢您的建议!

(如果这很重要:那就是 Delphi 2009)

最佳答案

您可以执行以下操作:

  • 保留 System.RaiseExceptObjProc 变量的值,该变量在正常的 Delphi 应用程序中指向 SysUtils.RaiseExceptObject
  • 创建您自己的“RaiseExceptObject”过程并将其分配给 RaiseExceptObjProc 变量
  • 在您自己的“RaiseExceptObject”过程中,您可以执行您想要的操作,然后调用保存的 RaiseExceptObjProc 值

有关详细信息,请参阅上面的变量和过程声明。

关于delphi - 是否可以有一个全局异常钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628751/

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