关于异常System.NullReferenceException

什么是NullReferenceException

试图访问或取消引用空对象引用时引发的异常。

继承链

Object
Exception
SystemException
NullReferenceException

说明

尝试访问值为空的类型上的成员时,将引发NullReferenceException异常。NullReferenceException异常通常反映开发人员错误,可能引发的情况如下:
  1. 忘记了实例化引用类型
  2. 在初始化数组之前,忘记了维度。
  3. 从方法获取null返回值,然后对返回的类型调用方法。
  4. 使用的是表达式(例如,你要将方法或属性的列表链接在一起)来检索值,但尽管你要检查值是否为 null,运行时仍会引发 NullReferenceException 异常。 出现这种情况的原因是表达式中的中间值之一返回 null因此,永远不会计算 null 的测试。
  5. 正在枚举包含引用类型的数组元素,尝试处理其中一个元素会引发 NullReferenceException 异常。
  6. null传递的方法引发 NullReferenceException 异常。 某些方法会验证传递给它们的参数。 如果 null,则该方法将引发 System.ArgumentNullException 异常。 否则,会引发 NullReferenceException 异常。

以下 Microsoft 中间语言(MSIL)指令引发 NullReferenceExceptioncallvirtcpblkcpobjinitblkldelem.<type>ldelemaldfldldfldaldind.<type>ldlenstelem.<type>stfldstind.<type>throwunbox

HRESULT

NullReferenceException 使用值为0x80004003 的 HRESULT COR_E_NULLREFERENCE。

 

posted on   活着的虫子  阅读(14110)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示