私は新しいプログラマで、Delphi のApplication.OnException
イベントがどのように機能するかを理解しようとしています。同僚が、独自のメソッドを作成してインスタンス化し、ユニットApplication.OnException
のinitialization
セクションで に渡すことで、デフォルトの例外処理を変更しました。このユニットはuses
、別のユニットの句で宣言されており、それ以外では使用されていません。
unit ADLDebug;
...
class procedure TADLExceptionHandler.ADLHandleException (Sender: TObject; E: Exception);
...
initialization
Handler := TADLExceptionHandler.Create;
Application.OnException := Handler.ADLHandleException;
initialization
デバッガーを使用してセクションにステップインすることしかできず、ADLHandleException
メソッドにはステップインできません。HandleException
再定義されたメソッドによってキャッチされるコードで例外を発生させようとしています。
再定義されたメソッドのスコープは、HandleException
を含むユニットのみにする必要がありますADLDebug
か? アプリケーションワイドにすべきだと思っていたのですが、なかなか呼べないようです。