Python

Python

Tutorial Python: Excepciones

Python excepciones: manejo y ejemplos. Aprende a manejar excepciones en Python con ejemplos prácticos y detallados.

Aprende Python GRATIS y certifícate

Las excepciones en Python son eventos que se producen durante la ejecución de un programa y que alteran el flujo normal del mismo. Cuando un error ocurre en Python, el intérprete lanza o emite una excepción, que si no es debidamente manejada, terminará el programa e imprimirá un mensaje de error.

Las excepciones se pueden manejar usando bloques de código try, except, finally, y else. Este manejo de excepciones permite controlar el flujo del programa y tomar decisiones en caso de errores.

Uso básico de las excepciones

Bloque try/except

El manejo de excepciones en Python se realiza mediante el uso de bloques try/except. Un bloque try contiene el código que podría lanzar una excepción. Si se produce una excepción en cualquier parte del bloque try, el flujo de ejecución se moverá inmediatamente a un bloque except correspondiente.

Aquí está el uso más básico de una declaración try/except:

try:
    # código que podría lanzar una excepción
    x = 1 / 0
except:
    # qué hacer si la excepción ocurre
    print("Ha ocurrido una excepción")

Si se ejecuta este código, el programa no se detiene con un error. En cambio, se imprime "Ha ocurrido una excepción".

Especificar el tipo de excepción

Es posible especificar qué tipo de excepción se quiere manejar en un bloque except. Por ejemplo, si se quiere manejar específicamente el error de división por cero, se podría hacer:

try:
    x = 1 / 0
except ZeroDivisionError:
    print("¡No se puede dividir por cero!")

Múltiples bloques except

Un solo bloque try puede tener varios bloques except para manejar diferentes tipos de excepciones. Python verifica los bloques except de arriba a abajo hasta que encuentra una coincidencia. Una vez que se maneja una excepción, el control pasa al código que sigue al bloque try/except.

try:
    x = 1 / 0
except ZeroDivisionError:
    print("¡No se puede dividir por cero!")
except:
    print("Ocurrió otro tipo de excepción")

Uso avanzado de las excepciones

Bloque else

El bloque else en Python se puede utilizar junto con la instrucción try/except. El código dentro del bloque else se ejecutará siempre y cuando no se produzca ninguna excepción en el bloque try.

try:
    x = 1 / 2
except ZeroDivisionError:
    print("¡No se puede dividir por cero!")
else:
    print("Todo salió bien")

Bloque finally

El bloque finally se utiliza para especificar acciones que deben realizarse bajo todas las circunstancias, ya sea que se produzca una excepción o no.

try:
    x = 1 / 0
except ZeroDivisionError:
    print("¡No se puede dividir por cero!")
finally:
    print("Esto se ejecuta sin importar qué")

Lanzar excepciones

Puede lanzarse una excepción deliberadamente utilizando la palabra clave raise.

x = 10
if x > 5:
    raise Exception('x no debería exceder 5. El valor de x es: {}'.format(x))

Las excepciones son una parte fundamental de la programación en Python y un buen manejo de las mismas es crucial para escribir programas robustos y mantenibles. Las excepciones ofrecen una forma de indicar que ha sucedido un problema, y luego permitir que el código que invocó el código problemático decida cómo manejar la situación.

Aprende Python GRATIS online

Ejercicios de esta lección Excepciones

Evalúa tus conocimientos de esta lección Excepciones con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Polimorfismo

Python
Puzzle

Clases y objetos

Python
Código

Listas

Python
Código

Crear módulos y paquetes

Python
Puzzle

Estructuras de control

Python
Test

Diccionarios

Python
Puzzle

Módulo math

Python
Test

Importar módulos y paquetes

Python
Test

Operadores

Python
Test

OOP en python

Python
Proyecto

Estructuras de control

Python
Código

Instalación de Python y creación de proyecto

Python
Test

Listas

Python
Puzzle

Estructuras de control

Python
Puzzle

Encapsulación

Python
Test

Clases y objetos

Python
Test

Crear módulos y paquetes

Python
Test

Encapsulación

Python
Puzzle

Tipos de datos

Python
Test

Herencia de clases

Python
Código

Tuplas

Python
Test

Herencia

Python
Puzzle

Módulo datetime

Python
Puzzle

Excepciones

Python
Puzzle

Operadores

Python
Puzzle

Funciones lambda

Python
Puzzle

Clases y objetos

Python
Puzzle

Diccionarios

Python
Test

Módulo os

Python
Puzzle

Listas

Python
Test

Conjuntos

Python
Puzzle

Funciones lambda

Python
Test

Tuplas

Python
Puzzle

Módulo json

Python
Puzzle

Operadores

Python
Código

Variables

Python
Puzzle

Tipos de datos

Python
Puzzle

Diccionarios en Python

Python
Código

Conjuntos

Python
Test

Módulo math

Python
Puzzle

Excepciones

Python
Test

Módulo csv

Python
Test

Gestor de tareas CRUD

Python
Proyecto

Importar módulos y paquetes

Python
Puzzle

Funciones Python

Python
Puzzle

Módulo json

Python
Test

Tipos de datos

Python
Código

Módulo datetime

Python
Test

Herencia

Python
Test

Análisis de datos de ventas con Pandas

Python
Proyecto

Funciones

Python
Test

Funciones Python

Python
Código

Variables

Python
Test

Módulo csv

Python
Puzzle

Introducción a Python

Python
Test

Polimorfismo

Python
Test

Módulo os

Python
Test

Todas las lecciones de Python

Accede a todas las lecciones de Python y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a Python y certifícate

Certificados de superación de Python

Supera todos los ejercicios de programación del curso de Python y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Entender qué son las excepciones en Python y cómo afectan al flujo del programa.
  2. Aprender a usar bloques try/except para manejar excepciones y evitar que el programa se detenga abruptamente.
  3. Saber cómo especificar el tipo de excepción a manejar y utilizar varios bloques except para tratar diferentes tipos de errores.
  4. Conocer el uso del bloque else para ejecutar código si no ocurre ninguna excepción en el bloque try.
  5. Comprender el propósito del bloque finally para especificar acciones que se deben realizar sin importar si ocurre una excepción o no.
  6. Aprender a levantar excepciones deliberadamente utilizando la palabra clave raise para indicar problemas en el código.