Есть ли способ добавить глобальный обработчик ошибок в приложение Visual Basic 6.0?

StackOverflow https://stackoverflow.com/questions/65020

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top