Шаг 233.
Язык программирования C#. Начала.
Обработка исключений. Выводы
На этом шаге мы подведем некоторые итоги.
Подведем некоторый итог изученному материалу.
- При возникновении ошибки в процессе выполнения программы она завершает свою работу. Существует возможность обработки подобных ситуаций. В этом случае используется конструкция try-catch.
- Если при выполнении кода в блоке try ошибок не было, то catch-блок игнорируется. Если при выполнении кода в блоке try возникла ошибка, то просматриваются блоки
catch, связанные с данным блоком try. Каждый catch-блок предназначен для обработки ошибок определенного типа. Если подходящий catch-блок найден, то
выполняется код этого блока. Если нужный catch-блок не найден, то ошибка передается для обработки во внешнюю конструкцию try-catch (если такая есть). Если ошибка не
обработана, программа завершает свое выполнение.
- В описании catch-блока указывается класс ошибки, обрабатываемой в блоке. Блок обрабатывает ошибки данного класса, а также всех его подклассов. При необходимости в catch-блоке
можно объявить и использовать объект ошибки. Объект ошибки создается автоматически при возникновении ошибки.
- Классы ошибок (исключений) образуют иерархию наследования. На вершине этой иерархии находится класс Exception. У него есть производные классы SystemException и
ApplicationException (последний обычно используется при создании классов пользовательских исключений).
- Конструкции try-catch могут быть вложенными. В таком случае, если исключение не обрабатывается во внутренней конструкции, оно передается во внешнюю конструкцию try-catch.
Также можно использовать блок finally, который выполняется в обязательном порядке и при возникновении ошибки, и если ошибка не возникла.
- Исключения могут генерироваться вручную. Для этого используют инструкцию throw, после которой указывается имя объекта исключения. Объект исключения можно создать
самостоятельно или воспользоваться объектом, созданным автоматически при возникновении ошибки. Для повторного генерирования исключения в catch-блоке используют инструкцию
throw, после которой объект исключения не указывается.
- Допускается создавать собственные классы исключений. Такие классы создаются путем наследования классов Exception или ApplicationException.
- Инструкции checked и unchecked позволяют переходить в режим и выходить из режима контроля переполнения при выполнении арифметических операций.
На следующем шаге мы рассмотрим несколько примеров программ, в которых используется обработка исключений.
Предыдущий шаг
Содержание
Следующий шаг