|
||||||||
|
Обработка ошибок в вызывающих процедурахДругой способ состоит в генерации ошибки Visual Basic в вызываемой процедуре и ее обработке строчным обработчиком ошибок в вызывающей процедуре. В следующем примере функция FileExists при неудаче генерирует ошибку. Оператор On Error Resume Next, добавленный перед вызовом этой функции, в случае ошибки заставляет программу перейти к следующему за вызовом функции оператору, не выполняя подпрограмму обработки ошибок. Оператор On Error Resume Next сопровождается кодом обработки ошибок. Этот код проверяет свойства объекта Err и определяет, была ли ошибка и каков ее номер. Если Err.Number содержит ненулевое значение, значит, произошла ошибка, и программа может предпринять соответствующие действия в зависимости от значений свойств объекта Err.
В следующем примере мы проверяем, успешно ли вызвана функция, и делаем это как по возвращаемому значению, так и по одному из передаваемых параметров:
Если бы функция просто возвращала результат вычисления или код ошибки, вычисленное значение могло бы попасть в диапазон кодов ошибок, и вызывающая процедура не отличила бы ошибку от результата.
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |