Difference between revisions of "PeekError"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 08:52, 7 February 2021
PeekError (Функции работы с исключениями) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает описание текущего исключения, собирая его из требуемых частей. Информация об исключении не удаляется из очереди исключений. Функцию можно использовать внутри блоков Except ... EndTry
или Finally ... EndTry
. Если при вызове функции в очереди исключений отсутствует по крайней мере одно исключение, функция возвратит пустую строку.
Синтаксис
PeekError(<Режим (INT)>=15):<Описание исключения (STRING)>
Аргументы
<Режим (INT)>
- (необязательный аргумент) Режим создания текста исключения. Параметр представляет собой битовую маску, состоящую из:- бит 0 (1) (по умолчанию) -- включает в описание место исключения в программном тексте (в виде
(<Внутренний номер исключения> at <Строка>:<Столбец>)
) - бит 1 (2) (по умолчанию) -- включает в описание информацию о типе исключения (к примеру
Division error
) - бит 2 (4) (по умолчанию) -- включает в описание специфическую информацию об исключении (к примеру имя реквизита, который не был найден в заданном объекте, что послужило причиной исключения)
- бит 3 (8) (по умолчанию) -- включает в описание путь к модулю, внутри которого произошло исключение.
- бит 0 (1) (по умолчанию) -- включает в описание место исключения в программном тексте (в виде
Возвращаемое значение
Возвращает описание исключения в виде UTF-16 строки.
Примеры
Message(1); Try Message(2); Raise "Пользовательское исключение"; Message(3); Finally Message(4); Message(PeekError(2),"!"); Message(PeekError(),"!"); EndTry; Message(5); //Последовательность выводит в лог следующую информацию: //1 //2 //4 //User defined error //(41 at 4:38) User defined error: Пользовательское исключение (AdmPanel.CustomTextExecute() (ExecuteTab)) // //После чего исполнение программы прекращается с повторным выводом в лог информации об исключении: //ERROR: (41 at 4:38) User defined error: Пользовательское исключение (AdmPanel.CustomTextExecute() (ExecuteTab))