En Python, ¿cómo puedes atrapar múltiples excepciones en un solo bloque?

Cómo Atrapar Múltiples Excepciones en Python Usando una Tupla

En Python, es muy común que tengamos que controlar distintos tipos de excepciones que pueden surgir durante la ejecución de nuestro código. Sin embargo, puede que no siempre queramos tratar cada excepción de manera individual. En estos casos, Python proporciona una forma eficiente de atrapar múltiples excepciones en un solo bloque de código usando una tupla en la cláusula except.

Aplicación Práctica

Imaginemos un escenario en el que queremos convertir una entrada de usuario en un entero. Podríamos encontrarnos con dos tipos de excepciones: ValueError si el usuario introduce caracteres que no son dígitos y TypeError si el usuario introduce, por ejemplo, None. Aquí es donde los bloques try / except con tuplas entran en juego:

try:
    numero = int(input("Introduce un número: "))
except (ValueError, TypeError):
    print("Esto no es un número válido.")

En el código anterior, usamos una tupla (ValueError, TypeError) en la cláusula except para atrapar múltiples excepciones. De esta manera, si ocurre alguna de estas excepciones durante la ejecución de la instrucción en el bloque try, se ejecutará el código en el bloque except.

Mejores Prácticas

Es importante recordar algunas prácticas recomendadas al trabajar con excepciones en Python:

  • Evita el uso de bloques try/except vacíos. Siempre incluye al menos algún tipo de registro o mensaje de error para que sepas qué excepción ocurrió.
  • Mantén el código en tu bloque try al mínimo para evitar atrapar excepciones que no pretendías manejar.
  • No uses la cláusula except sola sin especificar tipos de excepción a menos que sea absolutamente necesario. Es una buena práctica especificar las excepciones que pretendes manejar.

En resumen, el uso de una tupla en la cláusula except en Python es una forma eficiente y elegante de manejar múltiples excepciones en un solo bloque de código. Esto no solo hace que tu código sea más legible, sino que también evita la repetición de código, lo que es una clave para mantener un código limpio y eficiente.

¿Te resulta útil?