Un bloque de intento con múltiples excepciones
En Python, ¿es posible tener varias except
declaraciones para una sola try
declaración? Como:
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
Para el caso de manejar múltiples excepciones de la misma manera, consulte Detectar múltiples excepciones en una línea (excepto bloque)
Aceptado
Sí, es posible.
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()
Ver: http://docs.python.org/tutorial/errors.html
La palabra clave "as" se utiliza para asignar el error a una variable para que el error pueda investigarse más a fondo más adelante en el código. También tenga en cuenta que los paréntesis para el caso de triple excepción son necesarios en Python 3. Esta página tiene más información: Capture múltiples excepciones en una línea (excepto bloque)