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