gpt4 book ai didi

delphi - Application.OnException 无法处理所有异常 - Delphi

转载 作者:行者123 更新时间:2023-12-02 03:05:06 30 4
gpt4 key购买 nike

我正在使用 Delphi 7 并尝试处理程序运行期间抛出的所有可能的异常。我使用了 Application.OnException := HandlerProcedure;处理异常,但当异常发生时,HandlerProcedure 永远不会被调用。为了确保它是否真的有效,我在分配 Application.OnException 后引发了异常,如下所示:

Application.OnException := HandlerProcedure;
raise Exception.Create('Exception');

并将 HandlerProcedure 定义为:

procedure TFormMain.HandlerProcedure(Sender: TObject; E: Exception);
begin
ShowMessage('Exception.');
Exit;
end;

但是 HandlerProcedure 永远不会被调用。我怎样才能让它处理所有异常?

最佳答案

如果要拦截所有异常,则需要实现RTLUnwindProc低级过程。

这有点低级(例如,它需要 asm 技能),因此您应该更好地依赖现有代码。请参阅this stack overflow question 。我什至在 my own answer 中放置了一些引用代码(包括低级 asm,在 Win32 下使用 Delphi 7 及更高版本) .

关于delphi - Application.OnException 无法处理所有异常 - Delphi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18509174/

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