MessageID: Integer;
Свойство MessageID возвращает цифровой идентификатор ошибки.
При написании кода для обработки возможных исключительных ситуаций используется оператор Try...End Try и ряд системных классов исключительных ситуаций. Данные классы позволяют обработать базовые ошибки, которые могут возникнуть при работе как пользовательских, так и системных свойств/методов.
При определенных ситуациях (некорректные значения параметров, отсутствие прав доступа и т.п.) во время работы системных свойств/методов могут возникнуть специфические ошибки, генерируемые ядром платформы. Обработать такие ошибки можно используя базовый класс Exception. Также для таких ошибок можно получить уникальное значение свойства MessageID.
Для базовых ошибок, а также для ошибок, которые генерируются не ядром платформы (например, генерируемые на уровне СУБД и прокидываемые на уровень ядра платформы), свойство MessageID возвращает значение «0».
Для выполнения примера предполагается наличие в списке описаний репозиториев описания с идентификатором P5Test.
Sub UserProc;
Var
MAN: IMetabaseManager;
SPackage: ISecurityPackage;
Def: IMetabaseDefinition;
Credential: ICredentials;
MB: IMetabase;
Begin
MAN := MetabaseManagerFactory.Active;
SPackage := New StandardSecurityPackage.Create As ISecurityPackage;
Credential := SPackage.CreateCredentials(AuthenticationMode.Password);
Def := MAN.Definitions.FindById("P5Test");
(Credential As IPasswordCredentials).UserName := "Abcdef";
(Credential As IPasswordCredentials).Password := "IncorrectPassword";
Try
MB := Def.Open(Credential);
Except On e: Exception Do
Debug.WriteLine(e.Message);
Debug.WriteLine(e.MessageId);
Finally
End Try;
End Sub UserProc;
При выполнении примера будет осуществлена попытка подключения к репозиторию, которому соответствует описание репозитория P5Test. Если в репозитории не создан пользователь с указанными учетными данными, то при подключении будет сгенерирована ошибка платформы - «Неверное имя пользователя/пароль». Для данной ошибки также существует уникальный идентификатор, возвращаемый свойством MessageID. При возникновении ошибки подключения соответствующее сообщение об ошибке и уникальный идентификатор ошибки будут выведены в консоль среды разработки.
См. также: