¿Cómo capturar exit () en el módulo C ++ incrustado del código python?
Pregunta
Estoy incrustando una biblioteca c ++ (enlace realizado con SIP) en mi aplicación python. Bajo ciertas circunstancias (casos de error), esta biblioteca usa exit (), lo que hace que se cierre toda mi aplicación. ¿Hay alguna forma de detectar este evento o necesito modificar la biblioteca para manejar los casos de error de manera diferente?
Muchas gracias
Solución
Debe modificar la fuente de la biblioteca. No hay "manejo de excepciones" en C y exit ()
no vuelve al código de llamada bajo ninguna circunstancia.
Otros consejos
Puede anular el enlace de la biblioteca con LD_LIBRARY_PATH y crear su propia función de salida. Funciona bien.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow