que tienen algo de código C++ que utiliza un patrón de excepción muy estándar:¿Por qué no se detectan mis excepciones de C++?
try {
// some code that throws a std::exception
}
catch (std::exception &e) {
// handle the exception
}
El problema es que las excepciones no están siendo atrapados y no pueden entender por qué.
El código se compila en una biblioteca estática en OS X (a través de Xcode). La biblioteca está vinculada a una aplicación Cocoa, con una llamada a la función en cuestión que se produce a través de un procesador de Objectivo-C++. Sospecho que la interacción entre Objective-C y C++ es la culpable, pero todos mis intentos de fijarlo han fallado.
No he podido crear un ejemplo simple que reproduzca este comportamiento en un ejemplo simple. Cuando saco el código relevante del contexto de mi gran programa, todo funciona.
¿Alguien puede sugerir por qué no se detectan mis excepciones?
¿Qué evidencia tienes para hacerte pensar que se está lanzando una excepción? ¿Qué evidencia tienes que deriva de 'std :: exception'? (No digo que estés equivocado, pero hay una clara falta de información aquí) –