Question

Je travaille avec un code C appelé de Python à l'aide ctypes. Quelque part dans les entrailles de la bibliothèque C, une exception se produit et / ou abort () est appelée. Est-il possible que je peux attraper dans mon code appelant Python? (Plate-forme est Linux)

Était-ce utile?

La solution

Vous pourriez être en mesure de configurer un gestionnaire de signaux sur SIGABRT pour traiter le signal provoqué par abort (). Cependant, les assertions échouées pourraient aller de pair avec la mémoire corrompue et d'autres mauvaises choses - il y a habituellement une raison pour laquelle une assertion a échoué. Ainsi, se terminant généralement les applications est la meilleure chose que vous pouvez faire (sauf pour l'affichage / la connexion d'une erreur dans votre gestionnaire avant de se terminer).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top