C# System.NullReferenceException为何不提示错误所在?

注意我不是问出现System.NullReferenceException怎么办,而是弹出这个错误之后代码中却并没有任何地方提示出错误代码。我是在用子线程打开新窗体的程序... 注意我不是问 出现 System.NullReferenceException 怎么办,而是弹出这个错误之后代码中却并没有任何地方提示出错误代码。
我是在用子线程打开新窗体的程序中遇到的问题。
展开
 我来答
小白聊电子科技
高粉答主

2020-03-11 · 专注电子数码问题解答
小白聊电子科技
采纳数:775 获赞数:75418

向TA提问 私信TA
展开全部

C# System.NullReferenceException为何不提示错误所在,设置错误造成的,解决方法如下:

1、打开Visual  Studio软件,先来模拟一个会报错的场景,如下图所示,除数为0是不能通过运算的。

2、运行页面程序以后,就会看到C#返回了如下图所示的错误页面。

3、接下来打开Web.config文件,在其中配置customeErrors参数,如下图所示,设置403和404的错误重定向。

4、然后就是新建403的错误跳转页面,如下图所示,403是一些错误的提示页面。

5、然后新建页面,输入如下图所示的信息,用来提示用户要访问的页面没有找到。

6、最后在访问页面程序,会发现现在提示的页面已经没有那么多错误信息了,看起来很友好了。

freeeeeewind
推荐于2018-03-01 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1312万
展开全部

导致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的情形和原因与上面代码是一样的,没有差异

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式