1

さて、私はこの奇妙な問題を抱えています、そして私は答えを何度もグーグルで検索しましたが、役に立ちませんでした...とにかく私は私のプログラムにエラーメッセージを表示させることができないように見えるこの問題を抱えていますが欲しいです。これは多くの場合に発生し、最終的にはnullの変数であることがわかりましたが、何らかの理由でエラーはスローされませんでしたか?

これが私が今持っていたものの例です。

人がボタンをクリックして、debugという新しいフォームを表示します。

Debug debug = new Debug();
debug.Show(this);

そして、これは私のデバッグ形式でした。

public new void Show(IWin32Window owner)
{
    base.Show(owner);
    Parent.Move += new EventHandler(delegate(object sender, EventArgs e)
    {
        Location = new Point(Parent.Location.X + Parent.Width, Parent.Location.Y);
    });
}

簡単に言うと、Parentがnullであるためコードは機能しませんでしたが、それが問題であることをほのめかすことさえありませんでした。

説明があると思いますが、Google検索でまだ説明が見つかりません...

4

1 に答える 1

2

VisualStudioで次のことを試すこともできます。

  1. デバッグ>例外
  2. 「共通言語ランタイムの例外」エントリを展開します
  3. 「システム」エントリを展開します
  4. System.NullReferenceExceptionのチェックボックスをクリックします
  5. [OK]をクリックします
  6. デバッガーを接続してアプリケーションを実行します。

これにより、NullReferenceExceptionがスローされるたびにデバッガーが中断するようになります。

アプリケーションがtry{}catch {}でラップされているか、またはdebug.Show()が呼び出されるコールスタックのベースのどこかで、コードがtry {}catch{}でラップされていると思います。

于 2012-05-25T10:02:06.813 に答える