


C# checked
Здравствуйте. Хотелось бы узнать, как работает checked в C#. Следующий пример кода:
try {
checked {
...
}
}
catch (OverflowException) { ...}
Как я поняла, в блоке checked мы пишем код, который подозреваем на переполнение. Если переполнение всё-таки возникает, то управление передается в соответствующий блок catch. Что я понимаю неправильно?
http://msdn.microsoft.com/ru-ru/library/khy08726.aspx
Все очень доходчиво написано там.. .
Конкретно по твоему вопросу,
Если внутри checked кода, К ПРИМЕРУ, переменной типа int попытаются присвоить хреналион, то будет исключение.. .
Которое можно поймать с помощью try {} catch(){}
И видимо правильнее делать так:
checked
{
try { int a = 1234567898765432123456789876542123456789; }
catch (exception exc) { MessageBox.Show(exc.Message); }
}
P. S. Привет