En Python, ¿es posible tener múltiples declaraciones except
para una declaración try
? Por ejemplo:Python: One Try Multiple Except
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
En Python, ¿es posible tener múltiples declaraciones except
para una declaración try
? Por ejemplo:Python: One Try Multiple Except
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
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
El "como" palabra clave se utiliza para asignar el error a una variable de manera que el error puede ser investigada más a fondo más adelante en el código. También tenga en cuenta que los paréntesis para el caso de excepción triple son necesarios en Python 3. Esta página tiene más información: Catch multiple exceptions in one line (except block)
Si desea hacer lo mismo en ambos casos, es 'excepto (SomeError, OtherError):'. No responde la pregunta de OP, pero podría ayudar a algunas personas que llegan aquí a través de Google. – Mark
@Mark: buen punto, ejemplo agregado de eso. – vartec
Si, por ejemplo, tiene que convertir varias versiones de una estructura de datos a una nueva estructura, al actualizar versiones de código, por ejemplo, puede anidar try..excepts. –
Presumiblemente something1 es una clase de excepción en la línea 'except something1'? –
@Sentinel - Muy bien. Disculpa si abusé de SO comunidad. – Eva611
@ Eva611: No se disculpe. (1) pruébalo (2) publique una respuesta a su pregunta. –