2022-04-27 11:48:03
C# System.NullReferenceException为何不提示错误所在,设置错误造成的,解决方法如下:
1、打开Visual Studio软件,先来模拟一个会报错的场景,如下图所示,除数为0是不能通过运算的。

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

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

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

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

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

2023-06-15 04:01:21
导致NullReferenceException异常代码可能比较“隐蔽”。如下代码所示,通常的原因是因为对象为null时,引用这个对象的方法或属性。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
上面代码虽然不是窗体代码,但在窗体中出现NullReferenceException的情形和原因与上面代码是一样的,没有差异
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设置为nullt = null;// 以下代码会引发NullReferenceException。因为实例t已经为nulltry{ t.Value = 100; t.SomeMethod();}catch(NullReferenceException e){ // 显示异常 Console.WiriteLine(e.ToString());}