Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_(2модуль)_v_0_3.doc
Скачиваний:
0
Добавлен:
13.09.2019
Размер:
167.94 Кб
Скачать
  1. Обработка исключительных ситуаций. Общие положения.

Оброботчик исключительных ситуаций – встроенный механизм обработки ошибок. Есть как на С# так и на С++. Благодаря обработке исключительных ситуаций можно упростить управление и реакцию на ошибки во время выполнения программ. На С++ обработка исключительных ситуаций в C++ организуется с помощью трех ключевых слов; try, catch и throw

С#- организуется с помощью трех ключевых слов: try, catch, throw и finally.

В блоке try инструкции, во время выполнения которых вы хотите обеспечить обработку исключительных ситуаций. В блоке catch исключительная ситуация, если такая есть, обрабатывается.

На С++ ключевое слово throw вызывает ошибку.

На С# throw new exception().

В С# Системные исключения автоматически генерируются -системой динамического управления. Для генерации вручную используют ключевое слово throw

Любой код, который должен быть обязательно выполнен при выходе из try-блока, помещается в блок finally.

Try{//сам пример}

Catch(){генерируется исключительная ситуация}

Finalle{работает при любом исходе выполнения программы}

  1. Особенности обработки исключительных ситуаций в С++ и С#.

На С++ обработка исключительных ситуаций в C++ организуется с помощью трех ключевых слов; try, catch и throw

С#- организуется с помощью четырех ключевых слов: try, catch, throw и finally.

В блоке try инструкции, во время выполнения которых вы хотите обеспечить обработку исключительных ситуаций. В блоке catch исключительная ситуация, если такая есть, обрабатывается.

На C++ ключевое слово throw вызывает ошибку.

На С# throw new exception().

В С# Системные исключения автоматически генерируются -системой динамического управления. Для этого используются специальные классы(DividByZiroException, IndexOutOfRangeException, и т.п.).Для генерации вручную используют ключевое слово throw

Любой код, который должен быть обязательно выполнен при выходе из try-блока, помещается в блок finally.

Try{//сам пример}

Catch(){//генерируется исключительная ситуация}

Finally{//работает при любом исходе выполнения программы}

  1. Повторная генерация исключений. Вложенные блоки try.

Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая связана с этим try-блоком, передается во внешний try-блок. Исключение, перехваченное одной catch-инструкцией, можно перегенерировать, чтобы обеспечить возможность его перехвата другой (внешней) catch-инструкцией. Самая распространенная причина для повторного генерирования исключения — позволить нескольким обработчикам получить доступ к исключению. Например, возможна такая ситуация, что один обработчик исключений управляет одним аспектом исключения, а второй — другим. Чтобы повторно сгенерировать исключение, достаточно использовать ключевое слово throw, не указывая исключения.

Try

{

try{

throw

}

catch{

//первая обработка исключения

throw

}

}

catch{

//вторя обработка

}

++++(слова)

explicit

implicit

virtual

override

abstract class

interface

Try

Catch

Finalle

throw

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]