|
|
Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail : kadan@grsu.grodno.by |
Правила, рекомендуемые при сложной обработке ошибок
Если Вы создаете
большие программы на Visual Basic,
состоящие из множества модулей, код
обработки ошибок может стать
весьма сложным. При разработке
подобных программ придерживайтесь
следующих правил:
При отладке
используйте во всех
обработчиках ошибок метод
Raise объекта Err, генерируя
повторную ошибку для тех
случаев, когда обработка не
предусмотрена. Тогда программа
попытается исправить ошибку в
других обработчиках (из списка
вызовов). А если это не удастся,
Visual Basic гарантированно сообщит
об ошибке, не обрабатываемой
Вашим кодом. Тестируя свой код
и следуя этой методике, Вы
сумеете выявить ошибки,
которые Ваша программа пока не
в состоянии обрабатывать
адекватно.
Если Вам нужно
явным образом сбросить объект Err после обработки
ошибки, применяйте метод Clear. Это необходимо
при строчной обработке ошибок
с помощью оператора Error
Resume Next. А
вообще говоря, Visual Basic
автоматически вызывает метод
Clear после On выполнения любой
разновидности оператора Resume, а также
операторов Exit Sub, Exit Function,
Exit Property или
одной из форм оператора On
Error.
Если Вы не
хотите, чтобы ошибку
перехватила другая процедура
из списка вызовов, поставьте
оператор Stop, чтобы в таких
случаях прерывать программу.
На этапе разработки это
позволит исследовать контекст
ошибки и улучшить код.
Напишите
специальную и очень надежную
процедуру аварийного
завершения ? обработчики
будут вызывать ее при
появлении необрабатываемой
ошибки. Она должна корректно
завершать программу, выгружая
формы и сохраняя данные.
Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке, Microsoft Corporation, 1997
c Русский перевод, Microsoft Corporation, 1997
|