Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Создание специальных исключений, способ первый

Абстрактные классы | Полиморфный интерфейс | Сокрытие методов | Правила приведения к базовому и производному классу | Ключевое слово is | Определение вложенных типов | Обработка исключений | Void main () | Составляющие процесса обработки исключений в .NET | Генерация общего исключения |


Читайте также:
  1. C) он стал нетрудоспособным до расторжения брака и при этом достиг пенсионного возраста.
  2. I По способу создания циркуляции гравитационные системы отопления.
  3. I. Условия, способствующие развитию туризма
  4. II Способ
  5. II. УБЕЖДЕНИЯ О СПОСОБНОСТЯХ
  6. III способ.
  7. III. Пути и способы самосовершенствования компетентной и конкурентоспособной личности

Хотя для уведомления о возникновении ошибки во время выполнения можно всегда генерировать экземпляры System.Exception (как было показано в первом примере), иногда гораздо выгоднее создавать строго типизированное исключение, способное предоставлять уникальные детали по текущей проблеме.

Например, предположим, что понадобилось создать специальное исключение (по имени CarlsDeadException) для предоставления деталей об ошибке, возникающей из-за увеличения скорости неисправного автомобиля. Для получения любого специального исключения в первую очередь необходимо создать новый класс, унаследованный от класса System.Exception (по соглашению, имена всех классов исключений оканчиваются суффиксом Exception). Далее мы можем определить все необходимые нам свойства, методы и поля, которые будут использоваться внутри блока catch. Мы также можем заместить любые виртуальные члены, определенные в базовом классе System.Exception.

(этот код вставляем в проект CarExample, пространство имен Car)

Задание!!!: протестировать, исправить возможные ошибки

Теперь наш класс-исключение CarIsDeadException содержит закрытую переменную CarName для хранения информации об имени машины, для которой было сгенерировано исключение. Также добавили в класс два конструктора и заместили свойство Message таким образом, чтобы включить в описание исключения имя машины. Синтаксис генерации исключения следующий:

(этот код вставляем в проект CarExample, класс Car)

 

Задание!!!: протестировать, исправить возможные ошибки

Код для вызова исключений может выглядеть следующим образом:

(этот код вставляем в проект CarExample, корректируем метод Main)

Задание!!!: протестировать, исправить возможные ошибки

Результат работы программы:

 


Дата добавления: 2015-07-25; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Перехват исключений| Обработка нескольких исключений.

mybiblioteka.su - 2015-2024 год. (0.004 сек.)