delphiアプリケーションで発生したすべての例外をログに記録します。 そのために、私はプロジェクトのソースコード内で自分自身のものでApplication.OnExceptionイベントをオーバーライドしました。例外をブロックする前に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イベントがトリガーされません。
exceptブロックではなくApplication.OnExceptionイベントで最初にキャッチする方法はありますか?
を参照してください。おそらく:http://stackoverflow.com/a/6415902/327083 –
関連:http://stackoverflow.com/q/2628751/327083 –
だけmadExceptを使用してジョブがJCLコンポーネント –