Использование библиотеки с включенной обработкой исключений в приложении, где обработка исключений отключена - PullRequest
1 голос
/ 31 августа 2010

Этот вопрос касается библиотеки C ++ для Windows, и мы используем Visual C ++ в качестве нашего компилятора.

Мы включили опцию обработки исключений в нашей библиотеке. Мы также используем throw / catch в нескольких местах.

Один из наших клиентов говорит, что они отключают опцию обработки исключений в своем приложении. Теперь вопрос в том, возникнут ли у них какие-либо проблемы, если они используют нашу библиотеку со своим приложением.

1 Ответ

0 голосов
/ 31 августа 2010

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

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

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