При использовании функции в импортированном модуле (C ++, завернутый в swig), который, по-видимому, вызывает Треугольник , иногда происходит сбой.
Проблема заключается в том, что нет исключения Python повышенный - после строки сообщения об ошибке он выходит на терминал, и код, следующий за этим вызовом функции, не имеет возможности для запуска. то есть что-то вроде:
import useful_module
# Do stuff here
useful_module.funtion_that_includes_call_to_triangle() # This crashes under certain conditions
### cleanup code here not run... outputs error below ###
# Internal error in segmentintersection():
# Topological inconsistency after splitting a segment.
# Please report this bug to jrs@cs.berkeley.edu
# Include the message above, your input data set, and the exact
# command line you used to run Triangle.
Я пытался окружить оскорбительную строку try/except
, но когда она выходит без сообщения об ошибке, она не перехватывается.
Это будет также вернитесь обратно к терминалу, если вышеперечисленные действия были предприняты в сеансе ipython
.
Есть ли способ отловить выход из сеанса python, чтобы мой код продолжался?