web-dev-qa-db-ja.com

初めての例外

私はwindows XPで完璧に動くプロジェクトを持っています。

今、私はそれをWindows 7で実行しようとしましたが、イミディエイトウィンドウで多くの例外が発生しました。

A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.ArgumentException' occurred in LP_Wizard.exe
A first chance exception of type 'System.NullReferenceException' occurred in LP_Wizard.exe
A first chance exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe

何が悪いのかMicrosoft.VisualBasic.dll Windows 7で、どのようにその問題を修正しますか?

助けてくれてありがとう。

19
Night Walker

何が起こっているのかは、catchブロックがヒットする前に、デバッガーは例外が発生すると(つまり「最初のチャンス」)例外を「見る」ことができるということです。 catchブロックで処理されない例外は、「2回目のチャンス」例外と見なされ、通常どおり中断します。

これらの例外が処理されないためにアプリケーションの実行を停止しない場合は、おそらく問題ありません。ほとんどの場合、例外はコードによって処理され、これは問題ではありません。出力は、例外が発生したことを通知するVisual Studioです。

無視する数が多すぎる場合にこれを減らすためのいくつかの方法については、「 例外が安全に処理されている場合は、ファーストチャンスの例外メッセージを回避する 」の質問を参照してください。

43
Adrian Clark

例外が発生している場所を正確に特定したい場合は、[デバッグ]> [例外]メニュー項目を選択し、表示されるダイアログで、[共通言語ランタイム例外]の最初のチェックボックスをオンにします。これにより、ハンドルされていない例外だけでブレークするのではなく、例外が発生するとすぐにデバッガがブレークします。

これはまた、キャッチした情報を明確にログに記録しない限り、一般的な例外をキャッチすることが一般に悪い考えの1つの理由でもあります。

56
Marcus Andrén

あなたはデバッガーにいますか?これらの例外は、プログラムが処理していますか?その場合、VBに処理された例外の警告を抑制するように指示する設定を見つける必要があります。これはXPにインストールしたときに設定されましたが、インストールしたときではありませんW7。これが役立つかどうかを確認してください:

http://www.helixoft.com/blog/archives/24

1
fupsduck