Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 11Исключения.doc
Скачиваний:
37
Добавлен:
10.06.2015
Размер:
265.73 Кб
Скачать

Лекция 11

15. Исключительные ситуации

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

Обработку исключений может выполнять

– системный обработчик исключений или

– написанный пользователем программный код, который выводит сообщение.

Для обработки исключений используются глобальные и локальные обработчики исключений.

Глобальные обработчики – стандартные предусмотрены операционной системой и вызываются автоматически, если отладчик подключен. Обработчик завершает выполнение программы, выдавая информацию о возникновении исключения. Он не всегда понятен пользователю, не говоря уже о досрочном завершении программы.

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

Обработка локальных исключений в C# реализована с помощью ключевых слов, — try, catch и finally — с помощью которых программа обнаруживает исключения, устраняет их и продолжает выполнение. Они способствуют повышению надежности приложений.

15.1. Виды исключений:

Исключения имеют типы, являющиеся производными от System.Exception. Некоторые исключения, генерируемые при компиляции:

Тип_Исключения

Описание

ArithmeticException

Основной класс исключений, происходящих при выполнении арифметических операций, таких как DivideByZeroException и OverflowException.

ArrayTypeMismatchException

Создается, когда тип сохраняемого значения несовместим с фактическим типом массива.

DivideByZeroException

Создается при попытке разделить целое число на ноль.

IndexOutOfRangeException

Создается при попытке индексирования массива, если индекс меньше нуля или выходит за границы массива.

InvalidCastException

Создается, когда неверно выполнено динамическое приведение типов.

NullReferenceException

Создается при попытке ссылки на объект, значение которого равно null.

OutOfMemoryException

Создается при неудаче попытки выделения памяти с помощью оператора new. Это означает, что память, доступная для среды выполнения, уже исчерпана.

OverflowException

Создается при переполнении арифметической операции.

StackOverflowException

Создается, когда стековая память переполнена.

15.2. Существуют два типа блоков:

Соседние файлы в папке ЛК