|
|||||||
Ошибки в макросе
Время создания: 12.10.2019 20:24
Раздел: Разные закладки - VBA - Меню VB-справка
Запись: xintrea/mytetra_db_adgaver_new/master/base/1570883062n3qmqb8d1w/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Это простой обзор нашей стратегии
На следующем рисунке показан обзор того, как это выглядит Следующий код показывает простую реализацию этой стратегии
Это хороший способ реализации обработки ошибок, потому что
Полная стратегия обработки ошибок Стратегия выше имеет один недостаток. Он не сообщает вам, где произошла ошибка. VBA не наполняет Err.Source чем-либо полезным, поэтому мы должны сделать это сами. В этом разделе я собираюсь представить более полную стратегию ошибок. Я написал два сабвуфера, которые выполняют всю тяжелую работу, поэтому все, что вам нужно сделать, это добавить их в свой проект. Целью этой стратегии является предоставление вам стека * и номера строки в случае возникновения ошибки. * Стек — это список вспомогательных функций, которые использовались в данный момент при возникновении ошибки. Это наша стратегия
Мы просто «всплываем» из-за ошибки. Следующая диаграмма показывает простое визуальное представление о том, что происходит, когда в Sub3 возникает ошибка Единственная грязная часть этого — правильное форматирование строк. Я написал две подводные лодки, которые справляются с этим, поэтому он позаботится о вас. Это две вспомогательные подводные лодки
Пример использования этой стратегии Вот простое кодирование, которое использует эти Sub. В этой стратегии мы не размещаем какой-либо код в верхнем подпрограмме. Мы только вызываем подводные лодки.
Результат выглядит так Если в вашем проекте есть номера строк, результат будет содержать номер строки ошибки. Примечание: вы можете получить следующую ошибку при использовании этого кода: “Programmatic Access to Visual Basic Project is not trusted” Чтобы решить эту проблему, выполните следующие действия.
Обработка ошибок в двух словах
Источник |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|