Вы можете использовать следующие шаги, чтобы включить проверку арифметического переполнения / переполнения в Visual Studio:
- Щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите Свойства.
- На вкладке Build нажмите кнопку Advanced.(Это внизу)
- Установите флажок «Проверка арифметического переполнения / недостаточного заполнения».
Это выдаст System.OverflowException
когда происходит переполнение, а не обычная операция по изменению значения до минимального значения.
Без включенного арифметического переполнения / переполнения:
int test = int.MaxValue;
test++;
//Test should now be equal to -2,147,483,648 (int.MinValue)
При включенном арифметическом переполнении / недостаточном потоке:
int test = int.MaxValue;
test++;
//System.OverflowException thrown
Использование проверенного блока:
checked
{
int test = int.MaxValue;
test++;
//System.OverflowException thrown
}
Документация для проверенных доступна здесь. ( Спасибо Саше за напоминание об этом. )