Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Исключения

При вычислении выражений могут возникать ошибки, например переполнение, деление на 0. В C# есть механизм, который позволяет, обрабатывать подобные ошибки, и избегать аварийного завершения программы. Этот механизм называется механизмом обработки исключительных ситуаций (исключения). Если возникает ошибка, то система сигнализирует об этом, с помощью специального действия, который называется, генерированием исключения. Так как C# является ООЯ, то исключения являются классами, которые имеют общего предка Exception. Он определен в пространстве имен System. Механизм исключений предназначен, только для событий, которые могут произойти, в результате работы самой программы. Он не поддерживает ошибки оборудования или прерывания. Исключения возникают тогда когда некоторая часть программы не смогла сделать то что от нее требовалось, при этом другая часть программы может попытаться сделать что-нибудь иное. Исключения позволяют логически разделить вычислительный процесс на 2 части: обнаружение аварийной ситуации и ее обработка. Функция, которая обнаруживает ошибку, может не знать, что предпринимать для ее исправления, а использовать эту функцию код может знать, что делать, но не уметь определить место возникновения. Исключение генерирует либо среда выполнения, либо программист с помощью оператора throw. Исключения, которые генерируются средой, определены пространством System и являются потомками класса System.Exception. Исключения обнаруживаются и обрабатываются в операторе try.

Имя Описание
ArithmeticException Ошибка в арифмитических операциях
ArrayTypeMismachException Попытка сохранения в массиве, элементов несовместимого типа.
DivideByZeroException Деление на ноль
FormatException Попытка передать в метод аргумент не правильного формата
IndexOutOfRangeException Индекс массива выходит за границы диапазона.
InvalidCastException Ошибка преобразования типов
OutOfMemoryException Недостаточно памяти для создания нового объекта
OverFlowException Переполнение при выполнении арифметических операций
StackOverFlowException Переполнение стека

 

1) Контролируемый блок, в него включаются потенциально опасные операторы программы. Все функции прямо или косвенно вызываемого из блока, так же считаются ему принадлежащими.

2) Один или несколько обработчиков исключений, блоков catch. В которых описываются, как обрабатываются ошибки различных типов.

3) Блок завершения Finally, он выполняется независимо от того возникла ошибка или нет.

Синтаксис оператора try.

Try блок [блоки catch][блок finally]

Отсутствовать могут либо блоки catch, либо блок finally, но не оба одновременно. Обработка исключительных ситуаций реализуется следующим образом:

1) Обработка исключения начинается с появления ошибки. Функция или операция, в которой возникла ошибка, генерирует исключения.

2) Выполнение текущего блока прекращается. Отыскивается соответствующий обработчик исключения, и ему передается управление.

3) Выполняется блок Finally, если он присутствует.

4) Если обработчик не найден, то вызывается стандартный обработчик исключения, обычно он выводит на экран окно с информацией об исключении. И завершает текущий процесс. Подобные окна не предназначены для пользовательской программы, все исключения должны быть перехвачены и обработаны.

5) Обработчики исключений начинается с ключевого слова catch, за которым в скобках следует тип обкатываемого исключения, существует 3 формы записи:

Catch (тип имя) {тело обработчика}

Catch (тип) {тело обработчика}

Catch {тело обработчика}

Первая форма применяется, когда имя параметра, используется в теле обработчика, для выполнения каких либо действий. Например, вывод информации об исключение.

Вторая форма не предполагает использование информации об исключении, играет роль только его тип.

Третья форма применяется для перехвата всех исключений.

<== предыдущая лекция | следующая лекция ==>
Цикл с постусловием | Символы и строки
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 230; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.