Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
962 of 1492 menu
◀ ▶

ArithmeticException

ArithmeticException наследует SystemException. От него происходят DivideByZeroException и OverflowException. Блок catch (ArithmeticException) ловит и деление int на ноль, и переполнение в checked. Явно new ArithmeticException() в коде приложений почти не бросают.

Синтаксис

try { int res = 1 / 0; } catch (ArithmeticException) { }

Пример

Давайте поймаем деление int на ноль через базовый тип:

using System; class Program { static void Main() { try { int res = 1 / 0; } catch (ArithmeticException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте поймаем OverflowException как ArithmeticException:

using System; class Program { static void Main() { try { checked { int res = int.MaxValue + 1; } } catch (ArithmeticException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте проверим тип пойманного деления на ноль:

using System; class Program { static void Main() { try { int res = 1 / 0; } catch (ArithmeticException ex) { Console.WriteLine(ex is DivideByZeroException); } } }

Результат выполнения кода:

True

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить