【发布时间】:2017-06-18 14:19:03
【问题描述】:
我想记录在 delphi 应用程序中引发的每个异常。 为此,我在项目源代码中用我自己的一个覆盖了 Application.OnException 事件。
program Project;
uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1},
Logger in 'Logger.pas',
JCLDebugHandler in 'JCLDebugHandler.pas';
{$R *.res}
begin
Application.Initialize;
Application.OnException := TApplicationException.AppException;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
这很好用,但我无法用这个解决方案捕捉在 try-except 块中捕捉到的异常。
当异常在 except 块中被捕获时,它只是不会触发 Application.OnException 事件。
有什么方法可以先在 Application.OnException 事件中而不是在 except 块中捕获它?
【问题讨论】:
-
只需使用 madExcept 即可完成工作
-
尝试JCL组件
-
@Zam:究竟是哪个 JCL 组件?
标签: delphi try-catch onexception