Python: одна попытка несколько, кроме - PullRequest
142 голосов
/ 23 мая 2011

В Python возможно ли иметь несколько операторов except для одного оператора try? Такие как:

try:
 #something1
 #something2
except ExceptionType1:
 #return xyz
except ExceptionType2:
 #return abc

1 Ответ

247 голосов
/ 23 мая 2011

Да, это возможно.

try:
   ...
except FirstException:
   handle_first_one()

except SecondException:
   handle_second_one()

except (ThirdException, FourthException, FifthException) as e:
   handle_either_of_3rd_4th_or_5th()

except Exception:
   handle_all_other_exceptions()

См .: http://docs.python.org/tutorial/errors.html

Ключевое слово «as» используется для присвоения ошибки переменной, чтобы ее можно было исследовать.более подробно позже в коде.Также обратите внимание, что круглые скобки для случая тройного исключения необходимы в Python 3. Эта страница содержит больше информации: Поймать несколько исключений в одной строке (кроме блока)

...