私のwinformsアプリケーションでは、テキストボックスにtry/catchのないイベントがあります:
private void textBoxPassport_Leave(object sender, EventArgs e)
{
dicExsitsManagers[key] = value;
}
キーが空の文字列で、適切なキーなしで辞書から値を取得しようとすると、このイベントが発生するというバグがあります。
このバグはここでは問題ではありません。そして、キーが存在するかどうかを確認できることを知っています。
このイベントは、try/catch を使用した他の関数がフォームで何らかの処理を行った後に発生します。
VS2008 では、この例外は他の関数の try/catch によってキャッチされますが、VS2008 の外でアプリケーションを起動すると、この例外はまったくキャッチされず、未処理の例外という Windows の醜いメッセージが表示されます。
VS2008 が間違った try/catch でこの未処理の例外をキャッチしているのはなぜですか?
アップデート
問題は、例外が間違った場所でキャッチされていることです。try/catch がない場合、VS は例外をキャッチしません。以前は VS2008 の未処理の例外メッセージが表示されていましたが、この場合は表示されません。