Curso de Python: Errores y excepciones

Curso de Python: Errores y excepciones

¿Qué son las excepciones en Python?

Las excepciones son eventos que pueden alterar el flujo normal de un programa. En Python, cualquier evento que interrumpa el flujo normal de ejecución puede ser considerado una excepción. Estas pueden ser generadas por diversas situaciones, como errores de entrada/salida, operaciones inválidas o intentos de acceder a índices fuera de los límites en una lista.

Tipos comunes de excepciones

Existen varios tipos de excepciones predefinidas en Python. Algunos de los tipos más comunes incluyen:

  • TypeError: Se produce cuando se realiza una operación en un tipo de dato incorrecto.
  • ValueError: Se lanza cuando se pasa un argumento de tipo correcto pero con un valor inapropiado.
  • IndexError: Ocurre al intentar acceder a un índice que no existe en una lista.
  • KeyError: Se levanta cuando se intenta acceder a una clave que no está en un diccionario.

Manejo de excepciones con try y except

El manejo de excepciones en Python se realiza a través de bloques try y except. Este enfoque te permite intentar ejecutar un bloque de código y manejar las excepciones que puedan surgir de manera controlada.

A continuación, te mostramos un ejemplo práctico:

try:
    numero = int(input("Introduce un número: "))
    resultado = 10 / numero
    print(f"El resultado es: {resultado}")
except ValueError:
    print("Error: Debes introducir un número válido.")
except ZeroDivisionError:
    print("Error: No se puede dividir entre cero.")

En este fragmento de código:

  • Intentamos obtener un número del usuario y dividir 10 entre ese número.
  • Si el usuario introduce un valor no entero, se lanza una ValueError.
  • Si el usuario introduce 0, se produce una ZeroDivisionError.

Uso de finally y else

Python también ofrece las cláusulas finally y else para proporcionar un manejo aún más completo de las excepciones:

  • finally: Un bloque que se ejecuta siempre, sin importar si ocurrió una excepción o no.
  • else: Un bloque que solo se ejecuta si la sección try no genera excepciones.

Ejemplo:

try:
    numero = int(input("Introduce un número: "))
    resultado = 10 / numero
except ZeroDivisionError:
    print("Error: No se puede dividir entre cero.")
else:
    print(f"El resultado es: {resultado}")
finally:
    print("Este bloque se ejecuta siempre.")

Crear excepciones personalizadas

A veces, es útil crear tus propias excepciones personalizadas para manejar situaciones específicas. Esto se realiza mediante la creación de una clase que hereda de Exception.

class MiError(Exception):
    pass

def verificar(numero):
    if numero < 0:
        raise MiError("El número no puede ser negativo.")

try:
    verificar(-10)
except MiError as e:
    print(e)

En este código, hemos creado una excepción personalizada que se lanza si el número es negativo.

Conclusión

El manejo de errores y excepciones es esencial para crear programas robustos en Python. A través de las estructuras try, except, finally y else, puedes identificar, controlar y responder a errores de manera efectiva. Aprender a manejar excepciones te permitirá desarrollar aplicaciones más confiables y user-friendly.

Fuentes y lecturas recomendadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies