Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал по ооп.docx
Скачиваний:
3
Добавлен:
04.08.2019
Размер:
63.16 Кб
Скачать
  1. Исключения и их обработка в c#

  • Заменяет процедурно-ориентированный подход, при котором любая функция возвращает код ошибки

  • Упрощает написание и поддержку программного кода

  • Проблемные случаи обрабатываются намного лучше

Генерация исключений (throwing):

  1. имеет цель уведомить вызываемый код при возникновении проблемы

  2. исполняет в случае наступления ошибки или др. ситуации

  3. при возникновении прекращается исполнение программы и обходит стек на достижение catch блока для соответствующего исключения

  4. в C# вызывается оператором throw

  5. обычно создаётся объект, наследник класса System.Exeption, в котором описана проблема

  6. в catch блоке вызываемое исключение может быть обработано

Собственные классы исключений:

  1. В .NET программист может описать собственный класс исключений и создать иерархию классов

  2. такая возможность лучше при управлении ошибками и др. ситуациями

  3. для описания собственного исключения:

    • наследник класса System.ApplicationExeption

    • создать подходящий конструктор

    • можно добавить дополнительные свойства, дающие представление о проблеме

Конструкция try- finally:

  • выполняется в любом случае

  • используют для исполнения очищаемого кода, освобождения ресурсов

Алгоритм работы оператора try:

  1. условия обнаружения (catch) проверяется последовательно

  2. в итоге одно из условий всегда удовлетворяется (если список условий не пуст)

  3. имя параметра exeption в условии обнаружения можно опустить

  4. тип exeption должен быть выводим из System.Exeption

в случае отсутствия параметра exeption подраз-ся System.Exeption

Обработка исключений:

- В с# исключения могут быть обработаны программной конструкцией try {} catch {}

- catch может иметь несколько путей соответственно для различных исключений

- если error нет то catch не вызывается

- Большая часть стандартных методов выполняет генерацию исключений при проблемной ситуации

  1. Современные подходы к программированию. ООП и КОП

  2. Архитектурное решение .NET. Понятие сборки и манифеста. Пространство имен

  3. Понятие атрибута. Его использование

  4. Создание собственных атрибутов

Ограничения:

  • требуется, чтобы атрибут был наследником System.atribute

  • имена должны завершаться на Atribute

  • требуется описание допустимого назначения

  • могут описывать конструкторы с несколькими параметрами

  • могут описываться публичные поля и свойства

atribute usage:

через этот атрибут можно указать:

  • для чего используется атрибут

  • атрибут наследуется при наследовании типа, для которого он описан

  • Может обладать однократным или многократным применением.

Применяются для определения области описания. Преимущества атрибутов:

  • расширение документирования кода

  • широкая область применения

  • унификация хранения данных

Условные атрибуты:

# define DEBUG

# undef DEBUG

Сохранение атрибута:

  • представляется последовательность битов

  • записывается в таблицу метаданных для типа, объявленного в приложении

  • считывается с помощью Reflection из метаданных и является обыкновенным объектом от класса атрибута

Компиляция:

  • считывается компилятором

  • представляется последовательностью битов

записывается в таблицу метаданных для типа, объявленного в приложении