Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Comprensión de la Jerarquía de Excepciones | Manejo de Errores Integral
Programación Estructural en Python

Comprensión de la Jerarquía de Excepciones

Desliza para mostrar el menú

Al trabajar con el manejo de errores en Python, es importante comprender la estructura de sus clases de excepciones integradas. Todas las exceptions heredan de la clase raíz BaseException. La mayoría de las que se gestionan en el código cotidiano son subclases de Exception, que a su vez es hija directa de BaseException. Este diseño permite capturar categorías amplias de errores o tratar problemas específicos.

Excepciones comúnmente utilizadas como ValueError, TypeError, KeyError e IOError (también conocida como OSError en versiones modernas de Python) son todas subclases de Exception. También existen excepciones más especializadas, como ZeroDivisionError e IndexError, que heredan de estas clases generales. Algunas excepciones, como KeyboardInterrupt y SystemExit, heredan directamente de BaseException; estas normalmente no están destinadas a ser capturadas en programas habituales.

Comprender esta jerarquía ayuda a escribir bloques try/except precisos, capturando solo lo que se desea y evitando enmascarar señales críticas del sistema.

1234567891011121314151617181920212223242526272829303132
def raise_and_catch_exceptions(): # Catching a ValueError try: int("not a number") except ValueError as ve: print("Caught ValueError:", ve) # Catching a ZeroDivisionError (subclass of ArithmeticError) try: result = 10 / 0 except ZeroDivisionError as zde: print("Caught ZeroDivisionError:", zde) # Catching a TypeError try: result = "10" + 5 except TypeError as te: print("Caught TypeError:", te) # Catching an OSError (formerly IOError) try: open("file_that_does_not_exist.txt") except OSError as oe: print("Caught OSError:", oe) # Catching a general Exception (will catch most, but not all, exceptions) try: raise KeyError("missing key") except Exception as e: print("Caught Exception:", type(e).__name__, "-", e) raise_and_catch_exceptions()

1. ¿Qué clase de excepción incorporada usarías para capturar errores al intentar convertir una cadena a entero que no puede ser convertida?

2. ¿Qué excepción incorporada se produce cuando intentas acceder a una clave de diccionario que no existe?

question mark

¿Qué clase de excepción incorporada usarías para capturar errores al intentar convertir una cadena a entero que no puede ser convertida?

Selecciona la respuesta correcta

question mark

¿Qué excepción incorporada se produce cuando intentas acceder a una clave de diccionario que no existe?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 1
some-alt