Как отловить исключение, брошенное в ctypes? - PullRequest
2 голосов
/ 16 мая 2010

Я работаю с кодом C, вызываемым из Python, используя ctypes. Где-то в недрах библиотеки C происходит исключение и / или вызывается abort (). Есть ли способ, которым я могу поймать это в моем коде вызывающего Python? (Платформа Linux)

1 Ответ

3 голосов
/ 16 мая 2010

Возможно, вы сможете настроить обработчик сигнала на SIGABRT для обработки сигнала, вызванного abort (). Однако ошибочные утверждения могут сопровождаться повреждением памяти и другими плохими вещами - обычно есть причина, по которой утверждение не удалось. Поэтому обычно лучше всего завершить работу приложений (кроме отображения / регистрации ошибки в обработчике перед завершением).

...