Предположим, у меня есть метод, который принимает какой-либо объект в качестве аргумента. Теперь скажите, что если этому методу передан пустой аргумент, это фатальная ошибка, и должно быть выдано исключение. Стоит ли мне кодировать что-то вроде этого (помните, что это тривиальный пример):
void someMethod(SomeClass x)
{
if (x == null){
throw new ArgumentNullException("someMethod received a null argument!");
}
x.doSomething();
}
Или для меня безопаснее просто полагаться на то, что оно вызывает NullException, когда он вызывает x.doSomething ()?
Во-вторых, предположим, что someMethod является конструктором, и x не будет использоваться, пока не будет вызван другой метод. Должен ли я немедленно сгенерировать исключение или подождать, пока x потребуется, и затем сгенерировать исключение?