План обработки исключений для приложения плагина c ++ - PullRequest
2 голосов
/ 13 июня 2011

Мы разрабатываем плагин dll для приложения C ++ MFC. В нашем плагине функции выдают исключения, если они не могут выполнить свои условия публикации. Обычно исключения перехватываются более высоким контекстом, но иногда они распространяются вплоть до обработчиков событий и происходит сбой приложения. Итак, я пишу в каждом блоке try / catch обработчика событий, чтобы избежать сбоя приложения и показать информативное сообщение о том, что произошла непредвиденная ошибка. Я думал, есть ли способ пропустить это. Может быть, установить глобальный неожиданный обработчик с помощью функции set_unexpected, но опять же это ненадежно, и кто-то, например сторонние библиотеки, может перезаписать мой обработчик исключений. У кого-нибудь есть предложение

1 Ответ

1 голос
/ 13 июня 2011

При пересечении границ «единиц», таких как интерфейсы C-C ++ или границы общих объектов, исключения необходимо перехватывать и распространять обратно так, чтобы обе стороны интерфейса могли их распознать.К сожалению, нет простого способа сделать это, как вы обнаружили.

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