IMetabase.ExceptionHandler

Синтаксис

ExceptionHandler: String;

ExceptionHandler: string;

Описание

Свойство ExceptionHandler определяет обработчик исключительных ситуаций, который будет использоваться при работе в репозитории.

Комментарии

В качестве значения данного свойства должна быть указана функция, которая будет использоваться для глобальной обработки исключительных ситуаций. В зависимости от того, где реализована функция, значение может указываться в следующих форматах:

В качестве обработчика может выступать функция, либо статическая функция класса, имеющая следующую сигнатуру:

Function <наименование функции>(<наименование параметра>: IException): Boolean
Begin
    
End Function <наименование функции>;

Если функция возвращается значение True, то отловленная ошибка считается обработанной. Если функция возвращает значение False, то ошибка будет проброшена на уровень платформы и обработана системным обработчиком ошибок.

Примечание. Вызов глобального обработчика не является рекурсивным. Если в самом обработчике произошла исключительная ситуация, то исходная ошибка будет проброшена на уровень платформы и обработана системным обработчиком ошибок.

Пример

Для выполнения примера предполагается наличие модуля с идентификатором «Mod_Exception». В данном модуле имеется реализация функции «OnException», имеющей указанную сигнатуру.

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
Begin
    MB := MetabaseClass.Active;
    MB.ExceptionHandler := "Mod_Exception.OnException";
    MB.ExceptionMailAddress := "support@fsight.ru";
End Sub UserProc;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
Begin
    Mb := Params.Metabase;
    Mb.ExceptionHandler := "Mod_Exception.OnException";
    Mb.ExceptionMailAddress := "support@fsight.ru";
End Sub;

После выполнения примера указанная функция будет установлена в качестве обработчика ошибок для текущего репозитория. Также будет указан адрес электронной почты, по которому будет предлагаться отправка сообщений об ошибках.

См. также:

IMetabase