在c# VS2008中未处理空引用异常

本文关键字:引用 异常 未处理 VS2008 | 更新日期: 2023-09-27 18:04:18

我是VS2008的新手,我一直在到处寻找,但找不到任何解决我问题的方法。下面是代码:

 private void btnScan_Click(object sender, EventArgs e)
        {
            {
                if (!msgfilter)
                {
                    this.Enabled = false;
                    msgfilter = true;
                    Application.AddMessageFilter(this);
                }
                tw.Acquire(); <-- This is where the error shows
            }
        }

在c# VS2008中未处理空引用异常

您的tw变量未初始化。它的默认值是null。你不能在null上调用方法(. acquire()),你需要创建一个真正的对象。

在你的代码中,你缺少了

这一行

tw = New ()

,其中问号需要用您的类类型替换。

通常,当您遇到空引用异常时,最有用的方法是

  • 用调试器运行你的代码,看看哪个对象是空的(我猜在你的情况下它将是tw)
  • 检查异常的堆栈跟踪,这将为您提供有关错误发生在何处,谁是调用者等的更多详细信息