C# System.NullReferenceException为何不提示错误所在?
注意我不是问出现System.NullReferenceException怎么办,而是弹出这个错误之后代码中却并没有任何地方提示出错误代码。我是在用子线程打开新窗体的程序...
注意我不是问 出现 System.NullReferenceException 怎么办,而是弹出这个错误之后代码中却并没有任何地方提示出错误代码。
我是在用子线程打开新窗体的程序中遇到的问题。 展开
我是在用子线程打开新窗体的程序中遇到的问题。 展开
2个回答
展开全部
C# System.NullReferenceException为何不提示错误所在,设置错误造成的,解决方法如下:
1、打开Visual Studio软件,先来模拟一个会报错的场景,如下图所示,除数为0是不能通过运算的。
2、运行页面程序以后,就会看到C#返回了如下图所示的错误页面。
3、接下来打开Web.config文件,在其中配置customeErrors参数,如下图所示,设置403和404的错误重定向。
4、然后就是新建403的错误跳转页面,如下图所示,403是一些错误的提示页面。
5、然后新建页面,输入如下图所示的信息,用来提示用户要访问的页面没有找到。
6、最后在访问页面程序,会发现现在提示的页面已经没有那么多错误信息了,看起来很友好了。
展开全部
导致NullReferenceException异常代码可能比较“隐蔽”。如下代码所示,通常的原因是因为对象为null时,引用这个对象的方法或属性。
class Test
{
private int v;
public int Value
{
get{return this.v;}
set{this.v = value;}
}
public void SomeMethod()
{
//……
}
}
//使用Test:以下三行代码不会抛出NullReferenceException异常
Test t = new Test();
t.SomeMethod();
t.Value = 10;
//现在,将t设置为null
t = null;
// 以下代码会引发NullReferenceException。因为实例t已经为null
try
{
t.Value = 100;
t.SomeMethod();
}
catch(NullReferenceException e)
{
// 显示异常
Console.WiriteLine(e.ToString());
}
上面代码虽然不是窗体代码,但在窗体中出现NullReferenceException的情形和原因与上面代码是一样的,没有差异
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询