NullReferenceException
アプリケーションが をスローし、アプリケーションが をスローするのをオフにするケースがありますStackOverflowException
。
最初の例外は論理的であり、私はそれを理解しています。ユーザーが処理するものではなく、に行くことを期待していAppDomain.CurrentDomain.UnhandledException
ます。
しかし、いいえ、アプリケーションがシャットダウンされStackOverflowException
た直後に a が起動されます。NullReferenceException
StackOverflowException
現時点で呼び出しスタックの最大スタックが大きくないため (~15 行) 、その理由がわかりません。
VisibleChanged
状況の特殊性は、コントロールのイベント ハンドラーにサブスクライブされているデリゲートにいることです 。
問題を再現するサンプルを次に示します。
public Form1()
{
InitializeComponent();
VisibleChanged += Function();
}
private EventHandler Function()
{
throw new NullReferenceException();
}
実際、サンプルを作成していたとき、問題が発生したと思います。イベント Visible Changed で例外をスローすると、可視性が変更されたように見え、stackoverflow を含む再帰呼び出し (奇妙に見えない) があります。しかし、なぜ見えないのかわかりません。