【发布时间】:2013-01-25 02:31:06
【问题描述】:
关于这个 .NET 未处理的异常消息:
对象引用未设置为对象的实例。
.NET 为什么不显示哪个对象是null?
我知道我可以检查 null 并解决错误。但是,为什么 .NET 不能帮助指出哪个对象具有空引用以及哪个表达式触发了NullReferenceException?
【问题讨论】:
-
当这种情况发生时,重写它发生的那一行,以便它首先检查每个可能的结果是否为 null - 然后你就会确切地知道它是什么。要么,要么附加 Visual Studio 令人惊叹的调试器,它会在发生异常的瞬间中断并让您看到什么是 null :)
-
不是真的,他只是问为什么 .NET 框架不能帮助程序员显示 which 对象为空。我想这是性能损失(你需要反思)。但我也不确定。
-
@bas:虽然这是真的,但这个问题有点误导,因为它应该询问“表达式的一部分”,而不是“对象”。这也解释了为什么仅仅反射没有帮助,但需要一些广泛的调试信息。
-
我仍然很好奇答案。这有点类似于 .net 异常,它无助于指出字典中不存在 which 键。另外,我不明白这个问题的奉献者。
-
请使用术语:对象永远不会为空。 object reference 可能是。但是对象引用只是内存中的一个位置——它对你有什么帮助,除非你附加了一个调试器?