Отладчик, похоже, игнорирует тот факт, что сгенерированное здесь исключение фактически перехватывается механизмом привязки. Когда вы запускаете свою программу вне Visual Studio, вы должны получить желаемое поведение.
Чтобы избежать перерыва в отладчике при проверке, вы можете использовать
public int Valore
{
get { //... }
[System.Diagnostics.DebuggerStepThrough()]
set { //... }
}
Или, что еще лучше, не используйте исключения для проверки данных, но посмотрите на интерфейс IDataErrorInfo . В конце концов, неверный пользовательский ввод не исключение, а норма. =)