- •Вопросы на модульную контрольную №2
- •По дисциплине «Объектно-ориентированная парадигма»
- •Перегрузка операций. Общие положения.
- •Перегрузка унарных операций в с#.
- •Перегрузка бинарных операций в с#.
- •Перегрузка операторов приведения типа в с#
- •Индексаторы в с#. Перегрузка индексаторов.
- •Свойства в с#.
- •Наследование. Общие положения.
- •Реализация одиночного наследования в с#.
- •Полиморфизм. Общие положения.
- •Позднее связывание. Виртуальные функции.
- •Особенности описания и использования виртуальных функций в с и с#
- •Различия между перегруженными и виртуальными функциями.
- •Переопределение виртуальных функций в с#.
- •Абстрактные классы. Чистые виртуальные функции.
- •Интерфейсы. Общие положения.
- •Реализация интерфейсов. Использование интерфейсных ссылок.
- •Обработка исключительных ситуаций. Общие положения.
- •Повторная генерация исключений. Вложенные блоки try.
Обработка исключительных ситуаций. Общие положения.
Оброботчик исключительных ситуаций – встроенный механизм обработки ошибок. Есть как на С# так и на С++. Благодаря обработке исключительных ситуаций можно упростить управление и реакцию на ошибки во время выполнения программ. На С++ обработка исключительных ситуаций в C++ организуется с помощью трех ключевых слов; try, catch и throw
С#- организуется с помощью трех ключевых слов: try, catch, throw и finally.
В блоке try инструкции, во время выполнения которых вы хотите обеспечить обработку исключительных ситуаций. В блоке catch исключительная ситуация, если такая есть, обрабатывается.
На С++ ключевое слово throw вызывает ошибку.
На С# throw new exception().
В С# Системные исключения автоматически генерируются -системой динамического управления. Для генерации вручную используют ключевое слово throw
Любой код, который должен быть обязательно выполнен при выходе из try-блока, помещается в блок finally.
Try{//сам пример}
Catch(){генерируется исключительная ситуация}
Finalle{работает при любом исходе выполнения программы}
Особенности обработки исключительных ситуаций в С++ и С#.
На С++ обработка исключительных ситуаций в C++ организуется с помощью трех ключевых слов; try, catch и throw
С#- организуется с помощью четырех ключевых слов: try, catch, throw и finally.
В блоке try инструкции, во время выполнения которых вы хотите обеспечить обработку исключительных ситуаций. В блоке catch исключительная ситуация, если такая есть, обрабатывается.
На C++ ключевое слово throw вызывает ошибку.
На С# throw new exception().
В С# Системные исключения автоматически генерируются -системой динамического управления. Для этого используются специальные классы(DividByZiroException, IndexOutOfRangeException, и т.п.).Для генерации вручную используют ключевое слово throw
Любой код, который должен быть обязательно выполнен при выходе из try-блока, помещается в блок finally.
Try{//сам пример}
Catch(){//генерируется исключительная ситуация}
Finally{//работает при любом исходе выполнения программы}
Повторная генерация исключений. Вложенные блоки 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