Шаг 36 - Свойство Source

Описание
Возвращает имя объекта или приложения, ставшего источником ошибки.

Значения
Возвращаемое значение является выражением типа String, представляющим объект или приложение, ставшее источником ошибки.

Замечания
Свойство Source обычно представляет имя класса объекта или его программный идентификатор. Свойство Source позволяет вывести для пользователей информацию в тех случаях, когда программа не может обработать ошибку, возникшую в объекте в другом приложении.

Например, если при обращении к Microsoft Excel возникает ошибка деления на нуль, то Microsoft Excel задает значение свойства Error.Number, равное коду этой ошибки Microsoft Excel, и указывает в свойстве Source источник ошибки Excel.Application. Отметим, что если ошибка возникает в другом объекте, который вызывается из Microsoft Excel, то Microsoft Excel перехватывает ошибку и задает значение Error.Number, равное собственному коду ошибки деления на нуль. Однако другие свойства объекта Error (в том числе Source) получают значения от объекта, в котором возникла ошибка. Свойство Source всегда содержит имя объекта, ставшего источником ошибки.

Используя документацию ошибок, пользователь имеет возможность написать программу обработки ошибок. Если обработка ошибки оказывается неудачной, информация объекта Error позволяет вывести для пользователя имя объекта, описание ошибки и т.д. с помощью свойства Source и других свойств объекта Error.

Для обработки ошибок, возникающим при доступе к другим объектам, рекомендуется использовать конструкцию On Error Resume Next, а не конструкцию On Error GoTo. Проверка свойств объекта Error после каждого обращения к внешнему объекту позволяет устранить неопределенность в том, какой из объектов стал источником ошибки. Таким образом, пользователь будет знать, какой из объектов поместил код ошибки в значение свойства Error.Number, а также какой из объектов стал источником ошибки (этот объект указывается в свойстве Error.Source).


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 23.02.2002