Почему мои исключения C ++ не перехватываются?

У меня есть код C ++, который использует очень стандартный шаблон исключений:

try {
  // some code that throws a std::exception
}
catch (std::exception &e) {
  // handle the exception
}

Проблема в том, что исключения не отслеживаются, и я не могу понять, почему.

Код компилируется в статическую библиотеку в OS X (через Xcode). Библиотека связана с приложением Какао, при этом вызов рассматриваемой функции происходит через интерфейс Objective-C ++. Я подозреваю, что взаимодействие между Objective-C и C ++ является виновником, но все мои попытки объяснить это потерпели неудачу.

Я не смог создать простой пример, который воспроизводит это поведение на простом примере. Когда я вынимаю соответствующий код из контекста моей большой программы, все работает.

Кто-нибудь может подсказать, почему мои исключения не ловятся?

Ответы на вопрос(8)

Ваш ответ на вопрос