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