В этом вопросе речь идет о том, как заставить VS проверять арифметическое переполнение в С# и выдавать исключение: C# Overflow не работает? Как включить проверку переполнения?
В одном из комментариев говорилось что-то странное, и за него много голосов, я надеюсь, что вы можете мне помочь:
Вы также можете использовать ключевое слово checked для переноса оператора или набора операторов, чтобы они явно проверялись на арифметическое переполнение. Установка свойства для всего проекта немного рискованна, потому что часто переполнение является вполне разумным ожиданием.
Я не очень разбираюсь в оборудовании, но знаю, что переполнение связано с тем, как работают регистры. Я всегда думал, что переполнение вызывает неопределенное поведение и его следует предотвращать, где это возможно. (в «обычных» проектах, без написания вредоносного кода)
Почему вы вообще ожидаете переполнения и почему бы вам не всегда предотвращать его, если у вас есть такая возможность? (путем установки соответствующей опции компилятора)