Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

28 Ноябрь 2020, 20:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: "On [Local] Error" Statement  (Прочитано 258 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 194



« Стартовое сообщение: 11 Ноябрь 2020, 01:13 »

«On Error» является глобальным по своему охвату и остаётся активным до тех пор,
пока не будет отменён другим оператором «On Error».
«On Local Error» является локальным для вызывающей его процедуры.
Обработка локальных ошибок отменяет любые предыдущие глобальные настройки.
Когда вызывающая процедура завершается, локальная обработка ошибок автоматически отменяется
и восстанавливаются все предыдущие глобальные настройки.

Кто может пояснить, о каких глобальных настройках идёт речь?
В VBA, насколько я знаю, нет ключевого слова <Local>. Не могу уловить разницу. Поэтому не использую.

https://help.libreoffice.org/6.1/he/text/sbasic/shared/03050500.html
https://docs.microsoft.com/ru-ru/office/vba/language/reference/user-interface-help/on-error-statement
« Последнее редактирование: 11 Ноябрь 2020, 01:21 от eeigor » Записан
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 227


WWW
« Ответ #1: 11 Ноябрь 2020, 18:25 »

Я пару месяцев назад безуспешно пытался сочинить разумный пример, на котором была бы видна разница между On Error и On Local Error. Возможно, в современных версиях LO ее (разницы) и нет?
Записан

Владимир.
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 194



« Ответ #2: 11 Ноябрь 2020, 20:20 »

Владимир, спасибо за ответ.
Возможно, более опытные подскажут. А.Питоньяк использует этот оператор, но закономерности я уловить не смог. Оставляем без внимания…
Сам не проверял, но, полагаю, что оператор "On Error" действует в пределах процедуры, то есть и так локально, а саму обработку ошибок в процедуре можно отменить оператором "On Error GoTo 0". Тогда обработка будет осуществляться на "глобальном" уровне. Всё, вроде…
« Последнее редактирование: 11 Ноябрь 2020, 20:26 от eeigor » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!