powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отключенная библиотека
17 сообщений из 17, страница 1 из 1
Отключенная библиотека
    #39141582
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех с НГ !)

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


Какие верные практики ?

З.ы.очень сильно не хочется напрягать пользователя тонной диагностических ошибок , а врубать "on error next" imho моветон
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39141636
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
essbase.ruврубать "on error next" imho моветонПочему? Перехват ошибок выполнения - документированная возможность языка. И в других языках высокого уровня она существует.
Например, при работе с Collection без перехвата ошибок делать нечего.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39141640
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю откуда растут ноги про моветон. Как-то натыкался я на статейку, где красочно описывалось, что всякие On Error - это от лукавого И что использовать их в кодах зло великое есть. Правда, обоснование жиденькое какое-то было, из чего сделал вывод, что статья написана была не практиком-программистом. Видимо, статью эту не один я видел или подобная статья не единственная.
Мое мнение: скорее надо подходить к обработке ошибок без фанатизма и если есть возможность обойтись без On Error и при этом код будет не менее оптимальным - то надо обходится без них. Но когда исключение On Error повлечет за собой утяжеление кода, жертвование его читаемости и скорости - какой в нем смысл?
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39141663
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпродиагностировать наличие внешних зависимостей
Я так думаю, Вам потребуется позднее связывание. Если для Вас это ново, то почитайте о нём.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39141710
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил проблему тем что разделил проект на две кучки - для избранных,и для всех остальных
http://essbase.ru/sql-spyder-excel-ribbon

з.ы. Я уважаю On Error GoTo ErrorHandler и избегаю On Error Resume Next
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39141750
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
essbase.ruизбегаю On Error Resume NextДело это личное. Но я не вижу причин избегать. Такой прием, как уже заметил Казанский, применяется и в более высоких языках программирования. И они явно не являются неким атавизмом - они есть в сравнительно новом и модном C#. Значит смысла они не лишены и вряд ли имеет смысл от них отказываться с упорством маньяка

При этом On Error GoTo ErrorHandler мало чем отличается от On Error Resume Next. Просто во втором случае VB сам назначает метку перехода, виртуально устанавливая её после строки с ошибкой.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39142075
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,On Error GoTo ErrorHandler это способ. А resume next это костыль.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39142091
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
essbase.ru,

Евгений, а саму надстройку приложите?
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39142123
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobgos,

Ссылка с сайта не работает ?
а так ?
http://essbase.ru/essbase.ru/Uploads/SQLSpider.rar
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39142124
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39142446
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BobgosOn Error GoTo ErrorHandler это способ. А resume next это костыльа можно поподробнее про это? Чем принципиально отличается GoTo от Resume Next да так, что одно Вы считаете правильным использовать, а другое нет? Спасибо.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39143365
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Pristем принципиально отличается GoTo от Resume Next
хоть ворпрос адрессовался не мне , но все же

http://perfect-excel.ru/publ/excel/makrosy_i_programmy_vba/obrabotka_oshibok_v_kode_vba/7-1-0-98

от себя могу добавить , что On Error Resume Next я использую обычно в функциях которые возвращают статус объектов

например

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 

Public Function isTextBoxPresent(vNameOfTextBox As String) As Boolean
On Error Resume Next
    isTextBoxPresent = False

    isTextBoxPresent = (Len(Trim(ActiveSheet.Shapes(vNameOfTextBox).TextFrame.Characters.Text)) > 0)
    If Err.Number > 0 Then
         Err.Clear
    End If
End Function
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39143367
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
essbase.ru,

это не ответ на мой вопрос, это я знаю. Bobgos написал:
BobgosOn Error GoTo ErrorHandler это способ. А resume next это костыль
Вот мне и интересно, почему один оператор он считает правильным, а второй - костылем.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39144106
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Resume next для меня означает отсутствие обработки ошибки. Согласен с единственным корректным использованием - получить статус объекта. И то только для того чтобы сократить код на одну строчку.
Goto означает, что предусмотрен обработчик, т.е. код более универсален. Качество обработчика может быть разным, но даже msgbox с кодом ошибки и именем функции и входными данными позволит диагностировать проблему. А резюме некст только скроет её.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39144160
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BobgosResume next для меня означает отсутствие обработки ошибкиНу так бы и написали - для Вас лично. Если Вам лично не подходит - это же не значит, что это костыль для всех С таким подходом можно что угодно под костыль подписать. Поэтому я ранее и написал:
The_Pristскорее надо подходить к обработке ошибок без фанатизма и если есть возможность обойтись без On Error и при этом код будет не менее оптимальным - то надо обходится без них
Я вот применяю Resume, но не для сокрытия ошибок, а для выявления или в тех местах, где они заведомо обязательно появятся, но мне не надо их обрабатывать визуально(передавая в глобальный обработчик и прочее), а требуется лишь отследить и продолжить код в зависимости от свойств объекта Err. Потом я естественно, устанавливаю обратно глобальный обработчик ошибок(если это будет необходимо). Есть масса применений всех типов On Error в кодах - главное понимать что делаешь, а не применять наобум.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39145012
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Вобщем- все мы об одном и том же.
...
Рейтинг: 0 / 0
Отключенная библиотека
    #39145355
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobgos,

Ну да.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отключенная библиотека
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]