Я использую Cython для интерфейса внешней функции C. Функция (научный код из 100 000 строк кода) выполняет внутреннюю проверку на наличие недопустимых условий и «выходит» в случае их возникновения.
Как я могу заставить Cython обнаруживать и вызывать исключение, когда внешняя функция «выходит» вместо «возврата»?
Редактировать: user2864740 прав, cython фактически завершает работу. (Я запускал функцию внутри python mulitprocessing.Process. Для упрощения я избавился от многопроцессорности.) Теперь вопрос:
Как я могу предотвратить вызов «exit()» из внешней библиотеки для выхода из Cython (или Python, позже). Конструкция try-except этого не улавливает. Можно ли это поймать как исключение вместо того, чтобы весь процесс умирал?
Спасибо!