首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烦人的空引用异常,无法跟踪或一步一步地进行

烦人的空引用异常,无法跟踪或一步一步地进行
EN

Stack Overflow用户
提问于 2013-11-14 19:19:16
回答 1查看 1.9K关注 0票数 0

在这里需要帮助,我完全不知所措。我对编程还是比较陌生的,我正在为一家公司做一个相当大的项目,帮助他们在3.5框架上自动完成对Visual的早间报告。所以我得到了一个错误:

描述:在执行当前web请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。 异常详细信息: System.NullReferenceException:对象引用未设置为对象的实例。 源错误: 第49行: clsMasterClass objMC =新clsMasterClass();第50行:第51行: if (!objMC.Read(新的DateTime(2013,06,15))第52行:{第53行:字符串错误= objMC.LastError;第54行: Response.Write(error.ToString());第55: //错误处理行56:返回;第57行:}

现在,这段代码和整个程序运行得非常完美。它访问SQL数据库,创建一个表并插入数据。然后,它在创建的数组中查找用于指示数据去向的位置,并将数据放置到图像的该部分。就像我说的,编译它时一切都很好,但是当你发布它时会发生上述错误,这有点超出了我的能力,所以我的老板正在处理这个部分。

任何帮助都是非常感谢的。

下面是当我们得到错误时的堆栈信息:

代码语言:javascript
复制
[NullReferenceException: Object reference not set to an instance of an object.]
   Proficy_Project.clsOptiSet.Read(DateTime ProdDate) in H:\Dev\Wallabee\Webpage\FinalProject\FinalProject\clsOptiSet.cs:70
   Proficy_Project.clsMasterClass.Read(DateTime ProdDate) in H:\Dev\Wallabee\Webpage\FinalProject\FinalProject\clsMasterClass.cs:36
   ASP.default_aspx.__Renderform1(HtmlTextWriter __w, Control parameterContainer) in c:\Inetpub\wwwroot\Wallaby\Default.aspx:51
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +163
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +51
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266
EN

回答 1

Stack Overflow用户

发布于 2013-11-14 19:50:22

如果您是编程新手,那么我推荐一些东西。若要不获取NullReferenceException,应首先检查要使用的可空变量是否为null。它们不应该是空的。例如,在以下代码中:

代码语言:javascript
复制
public string GetFullName(Human human)
{
    return human.FirstName + ' ' + human.LastName;
}

如果NullReferenceException为null,您将得到一个human。因此,要获得更好的异常消息,您应该编写:

代码语言:javascript
复制
public string GetFullName(Human human)
{
    if (human == null) 
        throw new ArgumentNullException("Human should not be null");
    return human.FirstName + ' ' + human.LastName;
}

您可能对阅读以下文章感兴趣:

Why doesn't “object reference not set to an instance of an object” tell us which object?

?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19986417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档