【发布时间】:2014-02-22 00:14:22
【问题描述】:
我对 System.NullReferenceException 有一些问题。当服务器执行操作时,我们首先检查用户是否为空,然后他断开连接并且服务器进行某些操作,并尝试获取用户来 System.NullReferenceException。我有超过 20 000 行代码,所以我需要一些小的东西,而不是总是检查它是否为空。我的服务器是多线程的,所以套接字在后台始终获取连接并断开用户的连接,这就是为什么会出现这种情况。我想在用户断开连接时停止该进度.如果我把“try/catch”放在任何地方,那是好方法吗?
例子:
if (User != null)
{
//do some things
System.Threading.Thread.Sleep(1000); //now we have time disconnect (This only for get error)
User.SendMessage("crash"); //<-- System.NullReferenceException... -.-
}
【问题讨论】:
-
@SonerGönül 您的链接没有说明如何解决这个特定问题
-
20 000 行代码-->如果你有适当的架构,并且如果它的全部在一个方法中进行折射,那么除了检查 null 以避免 null 异常之外别无他法
-
@user3290224.. 而不是 sleep.. 以后台工作人员身份运行您的代码