十多年来我一直是.NET开发人员,所以这是一个我从未知道答案的可耻问题.我明白了 - 如果参数为null,我可以抛出ArgumentNullException.如果我尝试取消引用空值,将抛出NullReferenceException.
但是如果我有如下代码怎么办:
var someVitalObject = someServiceReference.GetVitalObject(); if (someVitalObject == null) { throw new IDontKnowWhatException(); // what exception should I throw here? }
现在,这不一定是早先应该抛出异常的服务的问题.
没有看到更多的背景,很难说,但也许System.InvalidOperationException
?
方法调用对于对象的当前状态无效时引发的异常.