Этот код довольно нелепый, потому что это странный способ делать вещи, но довольно ясно, что происходит. Список [B, C, D]
представляет собой список исключений. Поскольку исключение составляет raise
d в блоке try
, оно немедленно обрабатывается соответствующим обработчиком except
(последовательно, обработчиками except B:
, except C:
и except D:
.
Таким образом, этот код эквивалентен:
print "B"
print "C"
print "D"
За исключением того, что он сгенерирует (необученное) исключение, если любой из B
, C
или D
не является исключением.