проверенные блоки используются для обработки арифметических ситуаций переполнения / переполнения.Например:
Допустим, вы хотите преобразовать значение типа int в значение типа short (называемое сужающим преобразованием).Переменная типа int может иметь диапазон значений от -2 147 483 648 до 2 147 483 647.Но короткие могут иметь только от -32,768 до 32,767.
По этой причине короткая переменная не может иметь все возможные значения, которые может иметь переменная int.Если как, как, можно привести следующий пример:
int y = 1000000000;
short x = (short)y;
Ясно, что вы можете видеть значение y вне допустимых значений для короткой переменной.Таким образом, возникает ситуация арифметического переполнения.
По умолчанию C # не выдает никаких исключений для приведенного выше кода.Но есть несколько способов, которыми вы можете создать исключение и обработать его.В этом случае проверенные блоки пригодятся
try
{
checked
{
int y = 1000000000;
short x = (short)y;
}
}
catch (OverflowException ex)
{
MessageBox.Show("hey, we got a overflow/underflow situation");
}
catch (Exception ex)
{
MessageBox.Show("Error");
}
Блок захвата вызвал исключение переполнения, если приведение вызвало ситуацию переполнения / недостаточного заполнения.В этом случае отображается сообщение об ошибке
«эй, мы получили ситуацию переполнения / переполнения»
используются непроверенные блоки, если мы хотим сбросить переполнение / переполнение при преобразованиислучилось и продолжить операцию.