Вот занятно очень, а какое искл. правильно выбрасывать при проверке входных параметров?
ArgumentNullException — строка м.б. пустой
ArgumentException — м.б. и null
2 Проверки писать как-то занудно
Здравствуйте, Coldi, Вы писали:
C>Вот занятно очень, а какое искл. правильно выбрасывать при проверке входных параметров?
C>ArgumentNullException — строка м.б. пустой
C>ArgumentException — м.б. и null
C>2 Проверки писать как-то занудно
Выдавай всегда ArgumentNullException. А если очень важно-таки знать, что именно с ней не так, то, к примеру, можно:
void Test(string arg) {
if(String.IsNullOrEmpty(arg)) {
throw new ArgumentNullException(arg == null ? "arg" : "[arg]");
}//if
}
Или напиши своего наследника ArgumentNullException, принимающего в конструкторе помимо имени параметра, так же и его строковое значение, и меняющего в зависимости значения параметра своё сообщение.