私は新しいプログラマで、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か? アプリケーションワイドにすべきだと思っていたのですが、なかなか呼べないようです。