Допустит, у меня есть это:Python, как исключить исключения из «поймать всех»
try:
result = call_external_service()
if not result == expected:
raise MyException()
except MyException as ex:
# bubble up
raise ex
except Exception:
# unexpected exceptions from calling external service
do_some_logging()
Из-за мое ограниченное знание Python, я не могу думать о шикарном пути пузыря вверх по MyException
исключения, я надеялся, Я могу сделать что-то вроде:
try:
result = call_external_service()
if not result == expected:
raise MyException()
except Exception, exclude(MyException):
# unexpected exceptions from calling external service
do_some_logging()
Я бы, наверное, просто снова поднять его, если тип соответствует MyException – user2682863
1) Что случилось с первым кодом? 2) Почему ваш вопрос начинается с «Позвольте мне уточнить больше»? Вы продолжаете разговор из другого места? –
@NedBatchelder 1) Я думаю, что поймать его и переподнять не очень-то прямо, чтобы читать. 2) Я думал, что название недостаточно ясно, поэтому я сказал «подробнее», но я его обновил. –