Access 2002

Вызовы собственных процедур


Если в вашей программе имеются вызовы собственных процедур, нужно быть очень осторожным с этой особенностью обработки ошибок в VBA, так как может произойти неожиданная передача управления в обработчик ошибок вашей вызывающей процедуры. По этой причине мы настоятельно рекомендуем включать обработчик ошибок в каждую процедуру своего приложения. Может показаться, что это лишняя работа и она определенно увеличит размер вашей программы, — но альтернатива еще хуже. Вряд ли вы захотите, чтобы ошибка в одной процедуре вызвала неожиданную передачу управления в обработчик ошибок другой процедуры. Это может значительно усложнить отладку приложения. Лучший способ решения проблемы заключается в том, чтобы всегда обрабатывать ошибки выполнения в каждой процедуре локально. К тому же это не означает, что вы не сможете пользоваться общими подпрограммами обработки ошибок или процедурами, сообщающими об ошибках (см. ниже в настоящей главе раздел «Создание процедуры, сообщающей об ошибках»).

В пакет Microsoft Office ХР Developer включена надстройка для VBA, которая автоматически добавляет код обработки ошибок в указанную вами процедуру, модуль или даже во все процедуры проекта. Добавляемый ею код можно предварительно откорректировать, чтобы он соответствовал вашим нуждам и требованиям. При разработке большого приложения эта маленькая надстройка может сэкономить вам массу времени. За дополнительной информацией о Microsoft Office ХР Developer обращайтесь по адресу http://msdn.mlcrosoft.com/office/developer/.

Процедура SubB генерирует ошибку с кодом 1. Так как в процедуре SubB нет обработчика ошибок, управление немедленно передается назад в функцию FunctionA.

Комментарии закрыты