我有一个用Delphi 2007编写的服务,我正在尝试捕获任何未知的异常.为on异常分配方法似乎不起作用(‘Forms.Application.OnException:= UnkNownApplicationException’). “UnkNownApplicationException”似乎没有被调用 – 我将此归因于应用程序中没有表单的事实,因此该方法实际上从未被分配.除此之外,我还尝试在计时器上创建一个异常(在注释掉’Forms.Application.OnException:= UnkNownApplicationException’后,它不会干扰).在服务启动后60秒,计时器会触发:
procedure TProcessScheduler.Timer1Timer(Sender: TObject); begin try Raise Exception.Create('THIS GIG SUCKS'); except LogEvent(Name,rsUNKNowN_EXCEPTION,EVENTLOG_AUDIT_FAILURE,0); ExitCode:=-1; Halt; end; end;
似乎永远不会捕获异常 – 服务启动并且在此计时器触发后60秒后,我听到Windows错误声音但没有看到任何错误对话框 – 也许这可能是由于应用程序是服务的事实?永远不会调用’Halt’并且应用程序继续运行(我假设它等待某人在它创建的不可见错误对话框上单击ok).有什么想法为什么“除外”下的代码没有被调用?提前致谢! KP
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。