1

私は 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 が呼び出されることはありません。すべての例外を処理するにはどうすればよいですか?

4

3 に答える 3

0

madExcept などのサードパーティの例外ハンドラを使用している場合、Application.OnException は起動しなくなりました。代わりに、TMadExceptionHandler.OnException イベントをコーディングするか、RegisterExceptionHandler を直接呼び出す必要があります。

于 2015-09-16T19:16:29.647 に答える