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;
После выполнения примера указанная функция будет установлена в качестве обработчика ошибок для текущего репозитория. Также будет указан адрес электронной почты, по которому будет предлагаться отправка сообщений об ошибках.
См. также: