所以我最近一直在重新编程我的discord bot,以使其更符合不和谐的服务条款。在我重新编程期间,我一直试图让我的机器人更能抵抗我必须包含的编程错误,因为我只是C#的新手。我的僵尸程序昨天工作完全正常而且我没有重大的代码更改,但是最近我在任何密集使用时都收到了此错误消息。
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.
现在,我对异常和面向对象编程了解不多,但我知道这一点;我为什么在库中收到错误?
包括?下面的pastebin中bot的完整代码。
答案 0 :(得分:0)
它看起来像Java样式代码。有很多匿名方法,很难调试这样的代码。我建议从构造函数中单独使用匿名函数。我认为当nullreferenceexception发生时,Visual Studio将停在有问题的地方。如果没有,请放在几个地方System.Diagnostics.Debug.WriteLine(“你的字符串甚至代码中的对象”);并在输出窗口中查看,可以从Ctrl + Alt + A打开并键入View.OutputWindow(不幸的是现在我正在使用linux而我无法检查我的评论)。通过这种方式,您将能够确定代码的内容,而不会停止它。
NullReferenceException如何,当你正在访问对象函数或属性或对象的任何字段时,它会发生,而不是指向内存中的任何对象。例如从你的代码中,如果在构造函数discord中没有初始化它可以抛出异常,在第二行,你试图访问discord.UsingCommands ......
无论如何,NullReferenceException非常通用,很难回答。