Python reraise / recatch exception

Я хотел бы знать, возможно ли в python вызвать исключение в одном блоке except и перехватить его в более позднем блоке except. Я считаю, что некоторые другие языки делают это по умолчанию.

Вот как это будет выглядеть "

try:
   something
except SpecificError as ex:
   if str(ex) = "some error I am expecting"
      print "close softly"
   else:
      raise
except Exception as ex:
   print "did not close softly"
   raise

Я хочу, чтобы повышение в предложении else запускало последний оператор except.

На самом деле я не печатаю ничего, кроме регистрируя это, и я хочу регистрировать больше в случае, если это сообщение об ошибке, которого я не ожидаю. Однако это дополнительное ведение журнала будет включено в окончательный вариант, за исключением.

Я считаю, что одним из решений было бы сделать функцию, если бы она не закрывается мягко, что вызывается в последнем исключении и в предложении else. Но это кажется ненужным.

13
задан jncraton 19 February 2018 в 14:55
поделиться