У меня есть строковое свойство, требующее максимальной длины, поскольку данные связаны с базой данных. Какое исключение я должен выбросить, если вызывающая сторона пытается установить строку, превышающую эту длину?
Например, этот код C #:
public string MyProperty
{
get
{
return _MyBackingField;
}
set
{
if (value.Length > 100)
throw new FooException("MyProperty has a maximum length of 100.");
_MyBackingField = value;
}
}
Я считал ArgumentException
, но это просто не похоже. Технически , это функция - MyProperty_set(string value)
- поэтому можно сделать случай для ArgumentException
, но он не вызывается как функция для глаз потребителя - он находится справа от оператора присваивания ,
Этот вопрос, возможно, также можно расширить, чтобы включить все виды проверки данных, выполняемые в установщиках свойств, но меня особенно интересует приведенный выше случай.