У меня есть некоторый код C++, который использует очень стандартный шаблон исключения:Почему мои исключения на C++ не попадают?
try {
// some code that throws a std::exception
}
catch (std::exception &e) {
// handle the exception
}
Проблема заключается в том, что исключения не поймали, и я не могу понять, почему.
Код компилируется в статическую библиотеку в OS X (через Xcode). Библиотека связана с приложением Cocoa с вызовом рассматриваемой функции через Objective-C++ thunk. Я подозреваю, что взаимодействие между Objective-C и C++ является виновником, но все мои попытки связать это провалились.
Я не смог создать простой пример, который воспроизводит это поведение в простом примере. Когда я беру соответствующий код из контекста моей большой программы, все работает.
Может кто-нибудь предположить, почему мои исключения не пойманы?
Какие у вас есть доказательства того, что вы выбрали исключение? Какие у вас есть доказательства того, что это происходит из 'std :: exception'? (Не говорю, что вы ошибаетесь, но здесь нет четкой информации) –