Как поймать exit () во встроенном модуле C ++ из кода Python?

StackOverflow https://stackoverflow.com/questions/1439533

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top