了解异常的原因

时间:2014-01-02 20:29:57

标签: asp.net iis-7.5 nullreferenceexception

我的Web服务器的事件日志中有以下内容。有人知道可能有什么问题吗?我在互联网上进行了研究,但没有发现它为什么会发生。我不问什么是NULL异常。我很清楚这一点。我要问的是,这个异常是从ASP.NET类抛出的。由于我无法看到Microsoft的实现,我只想知道是否有其他人遇到过类似堆栈跟踪的相同异常以及他们如何处理这个问题。

Exception type: NullReferenceException 
    Exception message: Object reference not set to an instance of an object.
   at Sample.Test..ctor()
   at __ASP.FastObjectFactory_app_web_qquiiyt1.Create_ASP_test_aspx()
   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
   at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
   at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

2 个答案:

答案 0 :(得分:0)

看起来你有一个名为Test的类,从该类的构造函数抛出null引用。粘贴Test类。

答案 1 :(得分:0)

当引用类型没有实例时,抛出此类型的Exception。

例如:

List<CustomType> list;
CustomType item = new CustomType();
list.Add(item);

向列表中添加新项目时会发生NullReferenceException(因为list没有实例)。

对于您的问题,您必须调查异常发生的时间点。

堆栈跟踪告诉您:

Sample.Test..ctor()

所以我会看看那个构造函数。

您可以使用Log4Net提供额外的汇编信息,这些信息可能有助于识别发生异常的时间点,也可以查找try/catch block,在您遇到NullReferenceException的情况下{{1}或者通用的Exception类,这是不好的做法。