Я пишу скрипт сценария python 2.7 с использованием matplotlib, и я хочу, чтобы он отображал то, что он только что построил, если только я не запускаю его из сеанса, отличного от X на сервере института, для пакетного построения. Для таких случаев я просто говорю, чтобы он ничего не показывал.Не удалось поймать RuntimeError в python
Однако я не хочу, чтобы просто остановить, если я забываю сделать это, поэтому я пытаюсь поймать исключение RuntimeError так:
try:
pyplot.show()
except RuntimeError:
print 'Could not display figure. No X-session?'
except:
print 'Unexpected error:'
raise
Doing это, однако, я все еще получаю что я хотел бы получить, не пытаясь поймать что-нибудь, а именно TraceBack и:
RuntimeError: Invalid DISPLAY variable
он не печатает «Непредвиденная ошибка», поэтому он не работает в секунду, за исключением.
Что мне не хватает? Это может быть что-то очень простое, потому что я довольно новичок в этом.
EDIT:
Исключение, кажется, быть выброшен, прежде чем я пытаюсь показать сюжет, так что, возможно, это совершенно иная проблема.
Не пытайтесь поймать ошибку, вместо этого проверьте отображаемую переменную самостоятельно: 'if not" DISPLAY "в os.environ' [...] – cel
Это звучит лучше, попробуй! – user35915