Tag: nullreferenceexception

堆栈跟踪如何指向错误的行(“返回”语句) – 40行关闭

我有两次现在看到从Production ASP.NET MVC 4 Web应用程序记录的NullReferenceException – 并且登录错误的行。 没有错误的一两行(就像你得到的PDB不匹配),但错误的是整个控制器动作的长度。 例: public ActionResult Index() { var someObject = GetObjectFromService(); if (someObject.SomeProperty == “X”) { // NullReferenceException here if someObject == null // do something } // about 40 more lines of code return View(); // Stack trace shows NullReferenceException here } 对于同一控制器上的操作,这发生了两次。 第二个案例已登录 // someObject is known […]

LINQ InsertOnSubmit:NullReferenceException

我有这个代码: using DC = MV6DataContext; using MV6; // Business Logic Layer // … public DC.MV6DataContext dc = new DC.MV6DataContext(ConnectionString); IP ip = new IP(Request.UserHostAddress); dc.IPs.InsertOnSubmit(ip); dc.SubmitChanges(); // in Business Logic layer: public class IP : DC.IP { public IP(string address) { … } } 在尝试InsertOnSubmit(ip)时,我得到一个NullReferenceException(对象引用未设置为对象的实例)。 dc不为空; ip和ip的所有属性都不为null; 虽然有些是空的。 VS2008不会让我进入InsertOnSubmit,因此在评估时我无法知道具体为null。 是什么赋予了? 注意:我已经检查过,并且由FK关系创建的所有Linq.EntitySets都存在且非空。

初始化没有“新列表”的列表属性会导致NullReferenceException

using System; using System.Collections.Generic; class Parent { public Child Child { get; set; } } class Child { public List Strings { get; set; } } static class Program { static void Main() { // bad object initialization var parent = new Parent() { Child = { Strings = { “hello”, “world” } } }; […]

避免空引用exception

显然,代码中的绝大多数错误都是空引用exception。 是否有任何一般技术可以避免遇到空引用错误? 除非我弄错了,否则我知道在F#这样的语言中,不可能有空值。 但那不是问题,我问如何避免C#等语言中的空引用错误。