Try y Except en Python

En Python, el manejo de excepciones es una técnica esencial para escribir código robusto y resistente a fallos. El bloque try y except es una herramienta clave que permite al programador anticipar y manejar situaciones excepcionales de manera elegante y controlada. En este artículo, exploraremos en detalle cómo utilizar el bloque try y except , junto con otros aspectos relacionados con el manejo de excepciones en Python.


Python Try y Except: Introducción

El bloque try y except permite al programador manejar errores y excepciones en el código, evitando que el programa se bloquee en caso de que se produzca un error. Este bloque permite definir un conjunto de acciones a tomar en caso de que se genere una excepción, permitiendo que el programa siga funcionando en lugar de detenerse abruptamente.


Sintaxis del bloque Try y Except

La sintaxis básica del bloque try y except es la siguiente:

Ejemplo

    try:
    # Código que podría generar una excepción
except TipoExcepcion:
    # Acciones a realizar en caso de excepción
  

Manejo de Excepciones en Python

El bloque try y except es especialmente útil cuando se ejecuta código que podría generar una excepción. El bloque try permite que el código se ejecute normalmente, mientras que el bloque except maneja cualquier excepción que pueda generarse durante la ejecución.


Manejo de Múltiples Excepciones

Puedes usar múltiples bloques except para manejar diferentes tipos de excepciones de manera individual. Esto permite personalizar las acciones que se deben tomar para cada tipo de excepción.

Ejemplo

    try:
    print(int("abc"))
except ValueError:
    print("Error de conversión")
  

Bloque Finally y Cierre de Archivos

El bloque finally se utiliza para definir un conjunto de acciones que se ejecutarán sin importar si se generó una excepción o no. Esto es útil en situaciones en las que se necesita realizar una limpieza de recursos, como cerrar un archivo.

Ejemplo

    archivo.close()  # Siempre    archivo.close()  # Siempre se cerrará el archivo
  

Utilizar ELSE con Try y Except

En el próximo ejemplo vemos cómo utilizar la estructura try , except y else en Python para manejar excepciones de manera eficiente:

Ejemplo

    try:
    # Código que puede generar una excepción
    print("Hola")
except:
    # Manejo de la excepción
    print("Algo salió mal")
else:
    # Ejecutado si no ocurre ninguna excepción
    print("Todo fue bien")
  
Abrir en editor

Esta estructura es útil cuando queremos manejar tanto casos con excepciones como casos donde no ocurren excepciones. El bloque else se ejecutará solo si no se genera ninguna excepción en la sección try .

En el ejemplo proporcionado, el programa imprimirá "Hola" porque no se generó ninguna excepción. Luego, el flujo del programa pasará al bloque else y mostrará "Todo fue bien".

Es importante destacar que el bloque else solo se ejecuta si no hay excepciones. Si ocurriera una excepción en la sección try , el bloque else se omitiría y se manejaría la excepción en la sección except .


Levantar una Excepción

Puedes usar la palabra clave raise para generar y lanzar manualmente una excepción. Esto es útil cuando quieres indicar que ocurrió una condición excepcional específica en tu programa.

Ejemplo

    def dividir(x, y):
    if y == 0:
            raise ZeroDivisionError("No se puede dividir por cero")
    return x / y
  
Abrir en editor

El uso adecuado del bloque try y except es esencial para manejar excepciones de manera efectiva y prevenir que los programas se bloqueen ante situaciones inesperadas. Aprovecha las características como finally y raise para lograr un manejo de excepciones más completo y eficiente en tu código Python.

Practica Try y Except en Python en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Manejo de errores

Puedes usar múltiples bloques except para manejar diferentes tipos de excepciones de manera individual. Esto permite personalizar las acciones que se deben toma.

Ejemplo

    try:
    numero = int("abc")
except ValueError:
    print("Se produjo un ValueError")
except TypeError:
    print("Se produjo un TypeError")
  
Abrir en editor

Ejercicio: Usar print()

El bloque finally se utiliza para definir un conjunto de acciones que se ejecutarán sin importar si se generó una excepción o no. Esto es útil en situaciones en.

Ejemplo

    try:
    print(10 / 0)
except ZeroDivisionError as e:
    print(type(e).__name__)
  
Abrir en editor

Ejercicio: Manejo de errores (2)

En el próximo ejemplo vemos cómo utilizar la estructura try , except y else en Python para manejar excepcione.

Ejemplo

    try:
    # Código que puede generar una excepción
    print("Hola")
except:
    # Manejo de la excepción
    print("Algo salió mal")
else:
    # Ejecutado si no ocurre ninguna excepción
    print("Todo fue bien")
  
Abrir en editor

Ejercicio: Puedes usar la palabra clave

Puedes usar la palabra clave raise para generar y lanzar manualmente una excepción. Esto es útil cuando quieres indicar que ocurrió una condición excepcional.

Ejemplo

    def dividir(x, y):
    if y == 0:
            raise ZeroDivisionError("No se puede dividir por cero")
    return x / y
  
Abrir en editor

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.