Обработка событий и делегаты Обработка ошибок в VB .NET

Термех статика
Элементы кинематики
Основные понятия
сопративления материалов
Теория прочности
Интенсивность отказов
Типовые примеры и
их решения
Методы расчета
Прикидочный расчет
Ориентировочный расчет
Окончательный расчет
Общее резервирование
Раздельное резервирование
Скользящее резервирование
Последействие отказов
Системы передачи
информации
Понятие предела функции
Дифференцирование и
интегрирование функций
Применение пределов в
экономических расчетах
Интергал производная
геометрический смысл
Системы линейных уравнений
Элементы теории матриц
Дифференциальное и
интегральное исчисление
экстремум функции
Неопределенный интеграл
Функция нескольких переменных
Дифференциальные уравнения
первого порядка
Производные высших порядков
Свойства производных
Производная показательной
и логарифмической функции
Импульсы
асинхронная линия
уровни сигнала
избыточность
цифровой сигнал
прямая обработка
структуры циклов
стратегии поиска
добавочный канал
регенератор
Цикловая синхронизация
Проверка по избыточности
Скорость передачи
Ошибки
Ретроспективные выставки
Синхронная передача
Контроллеры и накопители
на жестких дисках
накопитель на жестком диске
плотность записи
Способы кодирования данных
Частотная модуляция
Форматирование дисков
Зонная запись
Форматирование высокого
уровня
Температурная нестабильность
Характеристики накопителей
Парковка головок
Интерфейсы накопителей
на жестких дисках
Кабели питания Disk Manager
интерфейс SCSI plug-and-play
Конфигурирование системы
дефекты
Разбиение жестких дисков
Коды аппаратных ошибок
Неисправен блок питания
Искусство Древнего Мира
Проектирование печатных плат
Visual Basic .NET
Выражения операторы
Классы и объекты
Наследование и интерфейсы
Обработка событий
Формы Windows
Многопоточные приложения
Взаимодействие операционной
системы
Операционная система Linux
Конфигурирование X Windows
Работа и конфигурирование
GNOME и X WINDOWS

Обработка событий и делегаты Поскольку сущность объектно-ориентированного программирования в конечном счете сводится к обмену сообщениями между взаимодействующими объектами, события должны занимать определенное место в этой схеме. В каком-то отношении они нормально вписываются в нее: объект-источник отправляет сообщение, которое указывает на возникновение события. Передача данных функциям, вызываемым в результате событий Давайте вернемся к простому классу Employee и подробно, шаг за шагом разберем все, что необходимо сделать для определения и инициирования событий. В предыдущем примере мы воспользовались готовым классом System.EventArgs. Возможности этого класса весьма ограничены, поскольку его конструктор вызывается без аргументов. При более профессиональном подходе в программе определяется новый класс события, дополняющий этот базовый класс. Обработчики событий, динамически назначаемые командой AddHandler, отключаются командой RemoveHandler, которой должны передаваться точно такие же аргументы, как и при соответствующем вызове AddHandlеr Практический пример: специализированная сортировка Групповые делегаты В нашем распоряжении имеется весь код, необходимый для рассылки событий, но пока нет ни одного заинтересованного получателя. Существует несколько способов, которыми класс может сообщить VB .NET о своем желании получать события от другого класса. Динамическая обработка событий Начнем с создания простейшего делегата, инкапсулирующего объект и «указатель» на процедуру этого объекта. Как показано ниже, синтаксис создания объектов чуть сложнее синтаксиса, используемого при создании простых объектов В предыдущем примере все модули имеют доступ ко всем функциям остальных модулей. Такую архитектуру нельзя признать удачной — правильнее было бы оформить делегат в виде члена класса, нежели в виде открытого объекта.

Обработка ошибок в VB .NET До настоящего момента мы делали вид, что в наших программах ошибок не бывает. Но даже в самой надежной программе иногда возникают непредвиденные ситуации — например, такие, как потеря сетевого соединения или отсутствие бумаги в принтере. Конечно, программист в этом не виноват, но винить пользователя в разрыве связи тоже было бы несправедливо. Подготовка к структурной обработке исключений Следующим шагом должен быть перехват и последующий анализ исключения. Выше уже говорилось о том, что метод ProcessFilе просто передает исключение в процедуру Sub Main, из которой он был вызван. В процедуре Sub Mai n команда вызова тоже заключена в блок Try-Catch, поэтому исключение будет обработано. Мы создали новый класс исключений, производный от IOExcepti on, потому что потенциальная проблема явно относилась к категории ввода-вывода.

Интегрированная средой разработки Visual Basic .NET

Выражения, операторы и передача управления

Классы и объекты Отладка объектно-ориентированных программ

Наследование и интерфейсы

Формы Windows, графический вывод и печать

Многопоточные приложения Поддержка баз данных в VB .NET

Расчет характеристик надежности Надежность информационных систем Типовые примеры и их решения