python
En Python, ¿cómo puedes atrapar múltiples excepciones en un solo bloque?
Practica Tu Conocimiento
Explicación
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.
¿Quieres más? Haz el cuestionario completo de Python Fundamentos.
Iniciar Quiz