У меня проблема с исключениями python. Мое программное обеспечение в настоящее время работает на нескольких платформах, и я все еще нацелен на то, чтобы быть совместимым с py2.5, потому что он находится в кластере, где изменение версий станет серьезным усилием.Обработка исключений с несколькими версиями python
Одна из систем (debian) была недавно обновлена с 2.6 до 2.7, а некоторые фрагменты кода вызывают странные исключения из лежащих в основе частей C. Тем не менее, это никогда не было раньше, и все еще не так на моем mac 2.7 -> в коде нет ошибок, а в одной из новых библиотек.
Я понял, как управлять исключением для 2.7, но обработка исключений, к сожалению, несовместима с 2.5.
Есть ли способ запустить что-то вроде «команд препроцессора - стиль C?»?
if interpreter.version == 2.5:
foo()
elif interpreter.version == 2.7:
bar()
?
Приветствия, Эль
Пример прилагается:
try:
foo()
except RuntimeError , (errorNumber,errorString):
print 'a'
#ok with 2.5, 2.7 however throws exceptions
try:
foo()
except RuntimeError as e:
print 'a'
#ok with 2.7, 2.5 does not understand this