我是.Net的新手,不知道如何解决我的大部分问题。这是我的问题。我创建了一个表单来执行脚本列表。数据将来自数据库。我的问题是当我调试时,我在这个代码块上出现NullReferenceException
错误
private void Load_RefreshForm_ScriptMgmt()
{
try
{
SqlCommand ObjCmd = new SqlCommand();
SqlConnection ObjConn = new SqlConnection();
this.Ds_Settings1.Tables["Settings_RefreshForm_ScriptMgmt_SelectALL"].Clear();
ObjConn.ConnectionString = this.MainConnection;
ObjCmd.CommandType = CommandType.StoredProcedure;
ObjCmd = new SqlCommand(this.da_LoadScripts.SelectCommand.CommandText.ToString(), ObjConn);
this.da_LoadScripts.SelectCommand = ObjCmd;
this.da_LoadScripts.Fill(this.Ds_Settings1);
}
catch (Exception exception)
{
ProjectData.SetProjectError(exception);
this.DisplayOnly_ErrorHandler("ERROR LOADING REFRESH SCRIPTS ", exception.Message, MsgBoxStyle.Critical);
ProjectData.ClearProjectError();
}
}
答案 0 :(得分:0)
您可以通过在try块的第一行设置断点并查看执行来查看哪一行抛出该异常。
有很多行可以抛出异常。 this.Ds_Settings1也可以为null,this.da_LoadScripts。 如果其中一个对象为null并且您尝试在其上调用函数或访问属性,则会出现该错误。在调用该函数之前验证是否定义了这些对象。
答案 1 :(得分:0)
您可以通过在“例外”窗口中启用中断执行来轻松跟踪引发此异常的语句:
调试>例外...(Ctrl + Alt + E)
并选中Common Language Runtime Exceptions'Trown'复选框。
至于异常本身 - 它是非常自我解释的 - 你试图使用一个未分配给任何东西的参考变量(无处点)。