Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Отладка и обработка ошибок >> Обработка ошибок в объектах, на которые Вы ссылаетесь

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Обработка ошибок в объектах, на которые Вы ссылаетесь


Обработка ошибок, переданных из внешних объектов
Отладка обработчиков ошибок

В процедурах, ссылающихся на один или несколько объектов, довольно трудно определить, где именно произошла ошибка, ? особенно если это случилось в объекте другого приложения. Допустим, программа состоит из модуля формы (MyForm), который ссылается на модуль класса (MyClassA), а тот в свою очередь ? на объект Worksheet Microsoft Excel.

Если объект Worksheet не обработает какую-то ошибку, возникшую в рабочем листе, и вместо этого повторно сгенерирует ее, Visual Basic передаст ошибку объекту MyClassA. Необработанные ошибки, возникшие во внешних (вне Visual Basic) объектах, автоматически преобразуются в ошибку с кодом 440.

Объект MyClassA может или обработать ошибку (что предпочтительнее), или повторно сгенерировать ее. Но интерфейс требует в этом случае, чтобы объект, повторно генерирующий ошибку, преобразовал код ошибки в некое ?осмысленное? значение, а не просто передал код 440. Это может быть номер определенной в Visual Basic ошибки, если обработчик ?считает?, что данная ошибка схожа с одной из предопределенных (например, переполнение или деление на нуль), или номер неопределенной ошибки, сложенный со значением константы vbObjectError (это позволит уведомить другие обработчики, что ошибка сгенерирована Вашим объектом).

По возможности модуль класса должен пытаться обрабатывать все ошибки, возникшие внутри него, а также ошибки, появившиеся в объекте, на который он ссылается, и не обработанные этим объектом. Но это удается не всегда, так как некоторые из них оказываются неожиданными.

Когда ошибка происходит в модуле формы, Visual Basic генерирует одну из предопределенных ошибок.

Примечание: Создавая открытый класс, старайтесь четко документировать назначение каждого определяемого Вами обработчика ошибок, действующего вне Visual Basic. Другим программистам, использующим Ваши классы, нужно будет знать, как обрабатывать ошибки, генерируемые Вашими объектами.

Повторно генерируя ошибку, не изменяйте свойства объекта Err. Если эту ошибку не перехватит ни один обработчик, выведите на экран значения свойств Source и Description ? они помогут решить проблему.



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017