Top.Mail.Ru
Ответы
Аватар пользователя
12лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

C# checked

Здравствуйте. Хотелось бы узнать, как работает checked в C#. Следующий пример кода:
try {
checked {
...
}
}
catch (OverflowException) { ...}
Как я поняла, в блоке checked мы пишем код, который подозреваем на переполнение. Если переполнение всё-таки возникает, то управление передается в соответствующий блок catch. Что я понимаю неправильно?

По дате
По рейтингу
Аватар пользователя
Новичок
12лет

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. Привет