C# 抛出异常:';System.NullReferenceException';在Discord.Net bot中的mscorlib.dll中

C# 抛出异常:';System.NullReferenceException';在Discord.Net bot中的mscorlib.dll中,c#,nullreferenceexception,discord,discord.net,C#,Nullreferenceexception,Discord,Discord.net,因此,我最近一直在重新编程我的discord机器人,使其更符合discord服务条款。在我重新编程的过程中,我一直试图让我的机器人更能抵抗我注定要包含的编程错误,因为我只是C#的新手。我的bot昨天运行得很好,没有重大的代码更改,但是最近我在频繁使用时收到了这个错误消息 System.NullReferenceException was unhandled Message: An unhandled exception of type 'System.NullReferenceExcep

因此,我最近一直在重新编程我的discord机器人,使其更符合discord服务条款。在我重新编程的过程中,我一直试图让我的机器人更能抵抗我注定要包含的编程错误,因为我只是C#的新手。我的bot昨天运行得很好,没有重大的代码更改,但是最近我在频繁使用时收到了这个错误消息

    System.NullReferenceException was unhandled
Message: An unhandled exception of type 'System.NullReferenceException' occurred in mscorlib.dll
Additional information: Object reference not set to an instance of an object.
现在,我对异常和面向对象编程知之甚少,但我知道这一点;为什么我在包含的库中出现错误

下面粘贴栏中机器人的完整代码


它看起来像Java风格的代码。有很多匿名方法,很难调试这些代码。我建议将匿名函数与构造函数分开。我认为当nullreferenceexception发生时,VisualStudio将停止在有问题的地方。如果没有,请放在几个地方System.Diagnostics.Debug.WriteLine(“代码中的字符串甚至对象”);然后在输出窗口中查看它,可以从Ctrl+Alt+A打开并键入View.OutputWindow(不幸的是,现在我正在使用linux,无法检查我的注释)。通过这种方式,您将能够在不停止代码的情况下确定代码中的内容

那么NullReferenceException呢,当您访问对象函数、属性或对象的任何字段时会发生这种情况,而这些字段不指向内存中的任何对象。e、 从你的代码中,如果构造函数中的discord没有初始化,它会在第二行抛出一个异常,在第二行,你试图访问discord。使用命令


无论如何,NullReferenceException非常普遍,很难回答

你还没有给我们提供足够的信息。NullRef异常可能是您可能遇到的最通用的异常,它们几乎可以发生在任何代码行上