NullReferenceException相同,但消息不同。什么原因?

时间:2019-11-14 02:55:10

标签: c# unity3d nullreferenceexception

NullReferenceException: Object reference not set to an instance of an object

NullReferenceException: A null value was found where an object instance was required

我想知道是什么情况导致这两种不同的消息发生。

1 个答案:

答案 0 :(得分:0)

第一个是Exception from the Framework itself

第二种情况是有人试图通过抛出自定义Exception来避免第一种情况。但是我认为他有些混乱:通常在这种情况下,您应该使用ArgumentException,而不是NullReference。正是因为它引起了这种混乱。

编辑:正如加布里埃尔·卢西(Gabriel Luci)指出的那样,这可能来自使用Unity3D。 Unity花费了数年的时间来开发针对平台独立开发的Mono框架(仅针对.NET Core的.NET实现了平台独立性)。因此,他们可能遵循了不同的模式/一组本地化字符串。

对于异常处理(捕获,自己抛出和重新抛出),我有两个Articles I link often。这些就是我“我认为他搞砸了”的基础。