Как поймать exit () во встроенном модуле C ++ из кода Python? - PullRequest
5 голосов
/ 17 сентября 2009

Я встраиваю библиотеку c ++ (связывание осуществляется с помощью SIP) в моем приложении на Python. При определенных обстоятельствах (случаях ошибок) эта библиотека использует exit (), что приводит к завершению всего приложения. Есть ли способ перехватить это событие, или мне нужно изменить библиотеку, чтобы по-разному обрабатывать ошибки?

Большое спасибо,

Ответы [ 2 ]

6 голосов
/ 17 сентября 2009

Вы должны изменить источник библиотеки. В C нет «обработки исключений», и exit() не возвращает код вызова ни при каких обстоятельствах.

0 голосов
/ 12 ноября 2011

Вы можете переопределить связывание библиотеки с LD_LIBRARY_PATH и создать свою собственную функцию выхода. Работает нормально.

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