问题标签 [nullreferenceexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1613 浏览

c# - LINQ to SQL DataContext 中的空引用异常

我有一个由这段代码引起的空引用异常:

结果是双重类型。当我注释掉:

代码运行良好。我已经验证了recentOrderers 不为空,并且当我运行时:

执行遵循此路径并返回。不知道发生了什么,因为我在上面使用了类似的代码:

它也完美运行。注意到相似之处后,有人可以帮忙吗?提前致谢。

0 投票
6 回答
29854 浏览

c# - 我是如何在构造函数之后得到这个 NullReferenceException 错误的?

我有一个asp.net 网站在我们的Intranet 上运行了几个星期。我刚刚从我的 application_error emailer 方法收到一封电子邮件,其中包含未处理的异常。

在这里(我已经清理了一些路径以使其更好地显示)

异常:对象引用未设置为对象的实例。堆栈跟踪:在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) 在 TimesheetDomain.DataMappers.StaffMemberData TimesheetDomain\DataMappers\StaffMemberData.cs:line 362 中的 .ReadStaff(SqlDataReader 阅读器)

在 TimesheetDomain.DataMappers.StaffMemberData.GetStaffMember(String name) 在 TimesheetDomain\DataMappers\StaffMemberData.cs:line 401

在 TimesheetDomain\ServiceLayer\TimesheetManager.cs:line 199 中的 TimesheetDomain.ServiceLayer.TimesheetManager.GetUserFromName(String name)

在 \App_Code\UserVerification.cs: 第 29 行的 UserVerification.GetCurrentUser() 在 \WebTimesheets\WebTimesheets.master.cs: 第 159 行的 WebTimesheets.OnInit(EventArgs e)

在 System.Web.UI.Control.InitRecursive(控制命名容器) 在 System.Web.UI.Control.InitRecursive(控制命名容器) 在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)

基本上,我的 ReadStaff 方法似乎出错了,该方法读取数据读取器以构建员工对象。这是一段代码:

(第 362 行是倒数第 3 行)我正在使用身份图(只是阅读 fowlers 关于模式的书,并认为这是一个好主意 - 可能做错了,很高兴评论)但这并不太相关,因为我稍后使用其他地方的newMember对象,所以如果我删除那个块,NullReferenceException就会发生。

我正在努力看看newMember那里的最后第三行(这是错误的行)到底是如何为空的。

Resharper/VS 没有给我一个可能的警告null——因为我可以选择 3 个构造函数。

谁能建议我在哪里可以尝试修复此错误?它只发生过一次,自网站上线以来,该方法已被调用了数千次。

谢谢

[编辑] 根据要求,这是工作人员的 IComparer

它用于 IComparable 实现

0 投票
1 回答
1317 浏览

nhibernate - Nhibernate NullReferenceException 返回域对象列表

以下是我正在使用的代码。对我来说似乎很简单。但是我在最后一行,即 return 语句中得到了 NullReferenceException。这是堆栈跟踪:

FailedSystem.NullReferenceException:对象引用未设置为对象的实例。在 NHibernate.Criterion.Junction.ToSqlString(ICriteria 条件,ICriteriaQuery 条件查询,IDictionary 2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary2 enabledFilters)在 NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable 持久性,CriteriaQueryTranslator 翻译器,ISessionFactoryImplementor 工厂,CriteriaImpl 条件,字符串 rootEntityName,IDictionary 2 enabledFilters) at NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary2 enabledFilters)在 NHibernate.Impl.SessionImpl.List(CriteriaImpl 标准,IList 结果) 在 NHibernate.Impl.CriteriaImpl.List(IList 结果) 在 NHibernate.Impl.CriteriaImpl.List()

0 投票
4 回答
1245 浏览

c# - Visual Studio 空引用警告 - 为什么没有错误?

我注意到 Visual Studio 有一些特别之处。首先,尝试在函数的某处键入此(C#):

现在,它会立即将sin标记s.Length为错误,并说“ Use of unassigned local variable 's'”。另一方面,试试这个代码:

它将编译,并用警告在sin下划线private string s,说“ Field 'Foo.s' is never assigned to, and will always have its default value null”。

现在,如果 VS 很聪明并且知道 s 将始终为空,为什么在第二个示例中获取它的长度不是错误?我最初的猜测是,“如果编译器根本无法完成它的工作,它只会给出一个编译错误。因为从技术上讲,只要你从不调用 Bar(),代码就会运行,这只是一个警告。” 除了解释被第一个例子无效。只要您从不调用 Bar(),您仍然可以运行代码而不会出错。那么给了什么?只是一个疏忽,还是我错过了什么?

0 投票
4 回答
444 浏览

.net - 是否可以从 ListBox.Items 属性中获取空引用错误?

编辑 11-20-2009:这个问题是很久以前发布的,但这个问题今天早上又出现了;所以我希望其他人可以提供一些见解(尽管提供的答案已经很有帮助)。

一旦在我们的生产环境中出现蓝月亮,我们就会NullReferenceException从引用控件的Items属性中得到一个ListBox。我在下面包含了一些示例代码。

有问题的父表单ListBox拥有一个Queue<string>名为QueuedMessages. 此队列接收有关事件的新消息。在每 500 毫秒关闭的计时器上,将执行以下方法:

同样,正如我所提到的,这只NullReferenceException 很少抛出。在使用该应用程序的几个月中,它发生了三四次。

此外,这种情况发生了几次,似乎ListBox.Items属性或只是其ListBox本身神秘地永远消失了:所有将项目添加到ListBox抛出异常的后续方法。恢复的唯一方法是关闭应用程序并将其重新启动。

不幸的是,我经常被一百万件其他事情分心,我从来没有在插入之前添加日志记录。我现在已经添加了日志记录,但我们可能需要一个月或更长时间才能再次看到这个问题。与此同时,还有什么想法吗?对此有哪些可能的解释?

我想我真正的问题是:有没有其他人见过这种情况 - 访问确实存在的 aListBox突然得到 a NullReferenceException- 你是否能够弄清楚为什么/如何解决问题?

0 投票
1 回答
457 浏览

c# - 使用上下文重写路径时获取对象引用

当我的代码隐藏中有此错误时出现此错误: if(Page.User.Identity.IsAuthenticated)

当我使用 context.RewritePath 方法时显示此错误 http://localhost/page.apsx?id=22 --> http://localhost/hello-world/

当我转到 page.aspx?id=22 时,Page.User.Identity.IsAuthenticated 返回 True 但我得到了

当我转到 /hello-world/ url 时出错。

0 投票
2 回答
4384 浏览

asp.net - 在 IIS 中运行已发布网站时出现 NullReferenceException

我有一个在 IIS 中添加之前发布的网站。之后,我将发布的网站设置为 IIS 中的默认网站。

当我通过表单插入值时,出现“对象引用未设置为对象的实例”的错误。当网站在 IIS 中运行而不发布时没有问题。使用数据网格插入值时会发生错误。

错误信息如下:

“/”应用程序中的服务器错误。

你调用的对象是空的。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[NullReferenceException:对象引用未设置为对象的实例。]
Admin_MasterEntries.gvwMileStoneM_RowCommand(Object sender, GridViewCommandEventArgs e) +447 System.Web.UI.WebControls.GridView.OnRowCommand(GridViewCommandEventArgs e) +105
System.Web.UI。 WebControls.GridView.HandleEvent(EventArgs e, Boolean CauseValidation, String validationGroup) +76
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs 参数)+35
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(对象源,EventArgs e)+117
System.Web.UI.Control.RaiseBubbleEvent(对象源,EventArgs 参数)+35
System.Web.UI.WebControls.LinkBut​​ton.OnCommand(CommandEventArgs e) +115
System.Web.UI.WebControls.LinkBut​​ton.RaisePostBackEvent(String eventArgument) +163
System.Web.UI.WebControls.LinkBut​​ton.System.Web.UI。 IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
System.Web.UI.Page。 ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

如果有人知道请帮助我。谢谢你。

0 投票
1 回答
148 浏览

c# - 已部署的 asp.net 应用程序中的程序集引用了我的电脑上的绝对路径

我不知道为什么会这样:

0 投票
4 回答
1325 浏览

c# - 为什么字符串属性上的 GetType 会导致 NullReferenceException?

当我在 int 或 DateTime 属性上调用 GetType 时,我得到了预期的结果,但在字符串属性上,我得到了 NullReferenceException (?) :

有人能解释一下是怎么来的吗?string-prop 与 int-prop 有何不同?

0 投票
3 回答
3346 浏览

c# - 在 Linq to Sql 中调用 InsertOnSubmit 时出现 NullReferenceException

我正在尝试使用 LINQ to SQL 将新对象插入到我的数据库中,但是当我在下面的代码片段中调用 InsertOnSubmit() 时得到 NullReferenceException。我传入了一个名为 FileUploadAudit 的派生类,并设置了对象上的所有属性。

这是堆栈跟踪:

我已经像这样添加到 Audit 类中:

派生的 FileUploadAudit 如下所示:

任何想法是什么问题?我能找到的最接近的问题是在这里,但我的部分审计类在生成的代码中调用无参数构造函数,我仍然遇到问题。

更新:

只有当我传入派生的 FileUploadAudit 类时才会出现此问题,Audit 类工作正常。Audit 类作为 linq to sql 类生成,并且没有属性映射到派生类中的数据库字段。