网页前端设计

http://www.86y.org

搜索文章

【C#】错误“System.NullReferenceException:未将对象引用设置到对象的实例“解析

用声音读出全文关注我吧
 2018/1/19 16:00:02 阅读次数:8930

错误原因分析

  首先,你要知道,在.net里面所有操作的变量都是对象。 
  一般的标示符,如int,string,char等等,最后都会转换为System命名空间下面的类名(如Int32,String,Char等等),当然类实例化的就更不用说了。对象就必然存在若干的属性和方法。你要操作一个对象,也必然是操作它的属性或者方法。 
  “未将对象引用设置到对象的实例”,也就是说你要调用对象实例里面不存你要操作的属性或者方法,而在确定你的对象里面有你要操作的属性或者方法,但是仍然报错,就多半是你操作的对象变成null了。因为null实际上也是一个对象(Nullable类型),所以它不会提示你“你操作的对象为空”这类的信息,而是对象实例中不存在你要操作的属性或者方法,也就是“未将对象引用设置到对象的实例”。 

这里写图片描述

 

错误原因锦集

1、ViewState对象为Null。 
2、DataSet为空。 
3、SQL语句或DataBase的原因导致DataReader为空。 
4、声明字符串变量时未赋空值就应用变量。 
5、未用new实例化对象。 
6、Session对象为空。 
7、对控件赋文本值时,值不存在。 
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。 
9、使用FindControl时,控件不存在却没有做预处理。 
10、重复定义造成未将对象引用设置到对象的实例错误。 
11、控件名称在codebehind里面没有对应。 
12、所设置的变量为空值或没有取到值,一般在传递参数时出错。也会在使用DataGridView或DataList等数据控件时出现。 
13、对象所在的命名空间没有引用。 
14、程序出现异常,导致实例化失败,对象为 Null。

解决方案

1、使用Try……Catch……Finally捕捉错误,或者直接使用response.write()输出所取的变量值。 
2、查看代码中是否存在未初始化的变量。

参考文章:百度文库NullReferenceException错误分析


大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】
如需转载请注明出处:http://www.86y.org/art_detail.aspx?id=846【【C#】错误“System.NullReferenceException:未将对象引用设置到对象的实例“解析】幸凡学习网
0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

阅读全文内容关闭