Метод Raise

Генерирует ошибку во время выполнения.

Синтаксис

object. Вызовномера, источника, описания, файла справки, helpcontext

Метод Raise содержит следующие квалификатор объекта и именованные аргументы:

Аргументация Описание
object Обязательно. Всегда объект Err .
число Обязательный аргумент. Длинное целое, определяющее природу ошибки. Ошибки Visual Basic (как пользовательские, так и определенные в Visual Basic) находятся в пределах от 0 до 65535. Диапазон 0–512 зарезервирован для системных ошибок; диапазон 513–65535 доступен для пользовательских ошибок.

При задании для свойства Number собственного кода ошибки в модуле класса вы добавляете номер кода ошибки в константуvbObjectError. Например, чтобы создать номер ошибки 513, присвойте свойству Number значение vbObjectError + 513.
источник Необязательный параметр. Строковое выражение, которое указывает на объект или приложение, вызвавшие ошибку. При задании свойства Source для объекта используйте форму project.class. Если аргумент source не указан, используется программный идентификатор текущего проекта Visual Basic.
description Необязательный параметр. Строковое выражение, описывающее ошибку. Если этот аргумент не указан, просматривается значение аргумента Number. Если его можно сопоставить с кодом ошибки времени выполнения Visual Basic, строка, возвращаемая функцией Error , используется в качестве описания. Если значению аргумента Number не соответствует встроенная ошибка Visual Basic, используется сообщение "Ошибка приложения или объекта".
файл_справки Необязательный аргумент. Полный путь к файлу справки, в котором содержатся сведения об ошибке. Если аргумент не указан, используется полный путь и имя файла справки Visual Basic. См . раздел HelpFile.
helpcontext Необязательный параметр. Контекстный идентификатор, определяющий раздел файла helpfile, содержащий сведения об ошибке. Если этот аргумент не указан, используется контекстный идентификатор раздела справки Visual Basic, соответствующий свойству Number, если он существует. См . раздел HelpContext.

Замечания

Все аргументы, кроме number, не являются обязательными. Если процедура Raise используется без указания некоторых аргументов, а свойства объекта Err содержат значения, они используются в качестве значений ошибки.

Метод Raise используется для создания ошибок во время выполнения и может использоваться вместо инструкции Error .

Метод Raise удобен для определения ошибок при создании модулей класса, так как объект Err содержит более подробные сведения, чем оператор Error. Например, при использовании метода Raise можно указать источник ошибки в свойстве Source, сослаться на онлайн-справку и т. д.

Пример

В этом примере метод Raise объекта Err используется для генерирования ошибки в объекте Automation, написанном в Visual Basic. Он имеет программный идентификатор MyProj.MyObject. В macOS диск по умолчанию обозначается "HD", а части аргумента "путь" отделяются друг от друга двоеточиями вместо обратной косой черты.

Const MyContextID = 1010407    ' Define a constant for contextID.
Function TestName(CurrentName, NewName)
    If Instr(NewName, "bob") Then    ' Test the validity of NewName.
        ' Raise the exception
        Err.Raise vbObjectError + 513, "MyProj.MyObject", _
        "No ""bob"" allowed in your name", "c:\MyProj\MyHelp.Hlp", _
        MyContextID
    End If
End Function

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.