Можно создать дубликат:
ArgumentNullException or NullReferenceException from extension method?Проверка входных параметров по методу расширения
Какое исключение должно быть брошено здесь?
public static string DoStuff(this Control control)
{
if (control == null)
{
throw new ArgumentNullException();
}
// Code goes here...
}
Я думал о следующем:
- ArgumentNullException (используется ниже)
- InvalidOperationException
- NullReferenceException
Мой выбор был бы ArgumentNullException. Это верно?
Действительно ли это необходимо? –
Да, следующие работы/сбои, как шарм: Control c = null; c.DoStuff(). И в этом случае вы хотите иметь хорошее исключение. По крайней мере, мы это делаем. ;-) Все зависит от того, что я думаю. – Florian