0Pricing
Python Academy · Lección

Comprensión de las excepciones

Aprenda qué son las excepciones y cómo las genera Python.

Comprensión de las excepciones es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Introducción

Las excepciones son el mecanismo de Python para señalar y gestionar errores durante la ejecución.

¿Qué es una excepción?

Una excepción es un evento que interrumpe el flujo normal del programa. Python lanza excepciones cuando se producen errores, por ejemplo, al dividir entre cero.
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

Jerarquía de excepciones

Todas las excepciones heredan de BaseException. La mayoría de las que se muestran al usuario heredan de Exception. Algunos tipos específicos son ValueError, TypeError, KeyError, etc.
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

Excepciones integradas comunes

TypeError: tipo incorrecto. ValueError: tipo correcto, valor incorrecto. KeyError: falta una clave del diccionario. IndexError: índice de lista fuera de rango. AttributeError: no existe ese atributo.
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

El traceback

Cuando una excepción no se gestiona, Python muestra un traceback: la pila de llamadas desde abajo (la más reciente) hacia arriba. Aprenda a leerlo.
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

Objeto de excepción

Cada excepción contiene un mensaje. str(e) o e.args proporciona la descripción. Acceda a ella dentro de except de esta forma: except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

Capturar varios tipos

except (TypeError, ValueError): captura cualquiera de los dos tipos en una sola cláusula.
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

El grupo de excepciones (3.11+)

Python 3.11 añade ExceptionGroup para varias excepciones simultáneas, que se gestionan mediante la sintaxis except*.
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

Advertencias frente a excepciones

import warnings; warnings.warn('msg') emite una advertencia sin lanzar una excepción. Utilícelo para obsolescencias y errores leves.
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

Dentro de un bloque except, sys.exc_info() devuelve (type, value, traceback), lo que resulta útil para registrar todos los detalles de la excepción.
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

Encadenamiento de excepciones

raise NewError('msg') from original_exc encadena las excepciones. El atributo __cause__ las vincula.
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

Comprobación rápida

¿Qué excepción se lanza al acceder a un diccionario con una clave que no existe?

Resumen

Las excepciones heredan de BaseException. Lea los traceback desde abajo hacia arriba. Capture excepciones con except as e. Los tipos comunes son ValueError, TypeError, KeyError, IndexError y AttributeError.

Siga avanzando

¡Excelente trabajo! Continúe con la siguiente lección para seguir progresando.

Preguntas frecuentes

¿La lección «Comprensión de las excepciones» es gratis?

Sí — el texto completo de «Comprensión de las excepciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Comprensión de las excepciones»?

Aprenda qué son las excepciones y cómo las genera Python. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Comprensión de las excepciones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Comprensión de las excepciones
  2. try / except / else / finally
  3. Lanzamiento y relanzamiento de excepciones
  4. Clases de excepciones personalizadas
← Volver a Python Academy