Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обработка ошибок OnError работает и в подпроцедурах? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обработка ошибок OnError работает и в подпроцедурах? (Макросы/Sub)
Обработка ошибок OnError работает и в подпроцедурах?
PATRI0T Дата: Среда, 21.02.2018, 11:29 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 4 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Столкнулся с такой неожиданностью.. Если я в одном участке кода сделал обработку ошибок
[vba]
Код
On Error Goto ErrHandler
[/vba]
И где-то дальше по коду вызывается процедура, и уже внутри нее происходит исключение, то
то выполнение макроса прыгает на метку ErrHandler родителя даже из подпроцедуры! Это правильно? Так и должно быть?
Получается, нужно перед процедурами убирать обработку
[vba]
Код
On Error Goto 0
[/vba]
Несколько обескуражен таким поведением.
Подскажите, как правильно тогда использовать обработчики ошибок


Сообщение отредактировал PATRI0T - Среда, 21.02.2018, 11:30
 
Ответить
СообщениеДобрый день.
Столкнулся с такой неожиданностью.. Если я в одном участке кода сделал обработку ошибок
[vba]
Код
On Error Goto ErrHandler
[/vba]
И где-то дальше по коду вызывается процедура, и уже внутри нее происходит исключение, то
то выполнение макроса прыгает на метку ErrHandler родителя даже из подпроцедуры! Это правильно? Так и должно быть?
Получается, нужно перед процедурами убирать обработку
[vba]
Код
On Error Goto 0
[/vba]
Несколько обескуражен таким поведением.
Подскажите, как правильно тогда использовать обработчики ошибок

Автор - PATRI0T
Дата добавления - 21.02.2018 в 11:29
sboy Дата: Среда, 21.02.2018, 11:35 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
как правильно тогда использовать обработчики ошибок

не допускать ;)
без кода и ошибок, которые Вы хотите обрабатывать, советы могут быть только общими...


Яндекс: 410016850021169
 
Ответить
Сообщение
как правильно тогда использовать обработчики ошибок

не допускать ;)
без кода и ошибок, которые Вы хотите обрабатывать, советы могут быть только общими...

Автор - sboy
Дата добавления - 21.02.2018 в 11:35
SLAVICK Дата: Среда, 21.02.2018, 11:39 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Ничего странного.
Если вы не делаете обработку ошибки внутри вызываемой процедуры - она выдает ошибку родителю... т.е ошибка появляется и в родительской процедуре, поэтому происходит переход к ErrHandler.
Выход - делать обработку ошибки внутри вызываемых процедур дополнительно.
например при помощи
[vba]
Код
Err.Clear
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеНичего странного.
Если вы не делаете обработку ошибки внутри вызываемой процедуры - она выдает ошибку родителю... т.е ошибка появляется и в родительской процедуре, поэтому происходит переход к ErrHandler.
Выход - делать обработку ошибки внутри вызываемых процедур дополнительно.
например при помощи
[vba]
Код
Err.Clear
[/vba]

Автор - SLAVICK
Дата добавления - 21.02.2018 в 11:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обработка ошибок OnError работает и в подпроцедурах? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!