Есть ли способ добавить глобальный обработчик ошибок в приложение Visual Basic 6.0? - PullRequest
5 голосов
/ 15 сентября 2008

VB 6.0 не имеет какого-либо глобального обработчика. Чтобы отлавливать ошибки во время выполнения, нам нужно добавить обработчик в каждый метод, где мы чувствуем, что может произойти ошибка. Но все же некоторые места могут быть опущены. Итак, мы получаем ошибки времени выполнения. Добавление обработчика ошибок во все методы приложения, единственный способ?

Ответы [ 5 ]

6 голосов
/ 15 сентября 2008

Нет, нет способа добавить глобальный обработчик ошибок в VB6. Однако вам не нужно добавлять обработчик ошибок в каждый метод. Вам действительно нужно добавить обработчик ошибок в каждый обработчик событий. Например. Каждое событие клика, событие загрузки и т. Д.

2 голосов
/ 16 сентября 2008

В то время как ошибки распространяются вверх, VB6 не имеет возможности выполнить трассировку стека, поэтому вы никогда не знаете, какой метод вызвал ошибку. К сожалению, если вам нужна эта информация, вы должны добавить обработчик для каждого метода, чтобы просто регистрировать, где вы были.

1 голос
/ 15 сентября 2008

Также: ошибки распространяются вверх: если метод X вызывает методы Y и Z, один обработчик ошибок в методе X будет охватывать все три метода.

0 голосов
/ 28 мая 2010

Я обнаружил этот инструмент вчера:

http://www.everythingaccess.com/simplyvba-global-error-handler.htm

Это коммерческий продукт, обеспечивающий глобальную обработку ошибок в приложениях VB6 и VBA.

Он имеет свою стоимость, но отлично выполняет свою работу. Я видел другие инструменты (хотя и бесплатные), помогающие в этом VB6, но ни один из них не может охватить настоящую реальную глобальную обработку ошибок, как это делает «SimplyVB6 Global Error Handler for VB6».

При использовании «SimpleVB6 Global Error Handler для VB6» нет необходимости изменять какие-либо строки существующего кода и не нужно нумеровать строки кода (через плагин или что-то в этом роде). Просто включите Глобальную обработку ошибок (одна строка кода в главном модуле), и все готово.

«Обработчик глобальных ошибок SimplyVB6 для VB6»:

  • может отображать стек вызовов с реальными именами модулей и функций, а также отображать строку исходного кода.
  • Работает только с программами VB6, скомпилированными с помощью P-Code.
  • может работать через раннее или позднее связывание (без DLL Hell).

Я никоим образом не связан с www.everythingaccess.com, просто счастлив, что нашел его вчера днем, и вроде как снова смотрел на эту проблему, поскольку у одного из моих клиентов были ошибки в нашем приложении VB6. Я смог протестировать инструмент вчера днем, обмениваясь электронными письмами с поддержкой www.everythingaccess.com и получая оценочный продукт по почте. Их веб-сайт пока не позволяет загружать ознакомительную версию продукта VB6, вы должны отправить их по электронной почте, но они ответят менее чем за час.

0 голосов
/ 15 сентября 2008

при ошибке возобновить следующее - вроде как близко, но это было какое-то время. Вы можете посмотреть любые предостережения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...