Python Try Except: ejemplos paso a paso

Python Try Except: ejemplos paso a paso

Como programador, es posible que se encuentre con situaciones en las que su código pueda tener errores o excepciones, por lo que es crucial comprender cómo manejar los diferentes tipos de errores en su código. El manejo de errores es una parte crucial del ciclo de codificación. Una forma común de manejar los errores en Python es mediante el uso de la técnica try-except.

La técnica Try-Except de Python consta de un bloque Try y un bloque Except. El bloque de prueba contiene el código que podría generar un error o excepción, y el bloque de excepción contiene el código para manejar esos errores o excepciones.

Python Try Except: ejemplos paso a paso

Cuando su código se ejecuta sin ningún problema dentro del bloque de prueba, se omite el bloque de excepción. Sin embargo, si ocurre un error o una excepción dentro del bloque de prueba, el código que ha escrito en el bloque de excepción se ejecutará para solucionar el problema.

En este artículo, discutiremos el bloque try-expect de Python , los diferentes tipos de errores y excepciones que puede encontrar al escribir código y cómo puede manejarlos con las declaraciones try-except.

¡Entremos en ello!

Tabla de contenido

¿Cuáles son los tipos de errores en Python?

En Python, los errores se pueden clasificar aproximadamente en dos tipos principales:

1. Errores de sintaxis : también se conocen como errores de análisis causados ​​por una gramática incorrecta en el código. Los errores de sintaxis son detectados por el intérprete de Python y detienen la ejecución de su programa.

El siguiente es un ejemplo de un error de sintaxis en Python:

print("Hello, world!"

En este ejemplo, falta el paréntesis de cierre, por lo que Python no entiende esta instrucción y, por lo tanto, es un error de sintaxis.

Python Try Except: ejemplos paso a paso

Excepciones : las excepciones ocurren cuando algo sale mal durante la ejecución de un programa, incluso si el código es sintácticamente correcto. Estos pueden incluir errores lógicos o errores de tiempo de ejecución, como entradas no válidas o división por cero.

La siguiente función es un ejemplo de una excepción en Python:

print(5 / 0)

Esta línea de código generará una excepción ZeroDivisionError, que ocurre cuando intenta dividir un número por cero.

Python Try Except: ejemplos paso a paso

En la imagen de arriba, puedes ver que ocurrió una excepción cuando dividimos 5 por 0.

Ahora que comprende qué excepciones existen en Python, veremos cómo podemos manejar las excepciones con una instrucción Try-Except en Python. Echemos un vistazo a la sintaxis de los bloques Try and Except en Python en la siguiente sección.

¿Cuál es la sintaxis del bloque Try and Except?

La sintaxis de una función define cómo debe usar esa función en su código, incluidos los argumentos que toma y lo que devuelve.

Hemos enumerado la sintaxis de la cláusula try y los bloques excepto, junto con la cláusula else y finalmente los bloques a continuación.

1. Sintaxis de la instrucción Try

La declaración de prueba le permite probar un bloque de código en busca de errores. Cuando escribe código dentro del bloque de prueba , Python lo ejecutará como una parte normal de su programa.

Para usar una declaración de prueba , simplemente incluya su código dentro del bloque de prueba :

try: # Your code here

2. Sintaxis de la cláusula excepto

La cláusula except maneja los errores que pueden ocurrir durante la ejecución del bloque try . Puede especificar el tipo de excepción que desea capturar o usar una declaración de excepción general para manejar todas las excepciones.

La siguiente sintaxis muestra un tipo de excepción específico:

try: # Your code here except ValueError: # Handle ValueError exception

Para manejar clases de excepción en general o excepciones múltiples, puede usar la sintaxis que se proporciona a continuación:

try: # Your code here except Exception: # Handle any exception

3. Sintaxis de la Cláusula/Bloque Else

La cláusula else le permite ejecutar el bloque de código cuando no hay errores en el bloque try .

Para usar una cláusula else , puede colocarla después del bloque excepto como se muestra a continuación:

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors

4. Sintaxis del Bloque Finalmente

El bloque finalmente le permite ejecutar código, independientemente del resultado de los bloques de prueba y excepción . Esto puede ser útil para las acciones que desea realizar, ya sea que se genere o no una excepción.

Para usar el bloque "finally ", puedes colocarlo después del bloque " else" :

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors finally: # Code to execute regardless of the result of the try and except blocks

Para ver la sintaxis anterior en acción, veremos un ejemplo de manejo de excepciones con el bloque try-except en Python.

Manejo de excepciones con Try-Except en Python

Cuando ocurre un error, Python normalmente se detendrá y generará un mensaje de error. Puede manejar múltiples excepciones usando un bloque de prueba y excepción .

En el siguiente ejemplo, manejamos el error de división por cero generado previamente cuando dividimos 5 por 0.

try: print(5 / 0) except ZeroDivisionError: print("You can't divide by zero!")

En este código, ocurre una excepción, pero el programa continuará ejecutándose e imprimirá "¡No se puede dividir por cero!" en lugar de detenerse con un error.

Python Try Except: ejemplos paso a paso

El uso de los bloques try y except le permite controlar el flujo de su programa. Al manejar excepciones específicas , puede proporcionar comentarios útiles al usuario y mantener su programa en ejecución cuando aparece un error.

En el ejemplo anterior, puede ver que usamos la excepción integrada ZeroDivisionError para manejar el caso. Similar a esto, también hay otros tipos de excepciones integradas.

La familiaridad con estos tipos de excepción lo ayudará a decidir qué expectativa usar cuando encuentre un error en su código de Python, así que echemos un vistazo a algunas excepciones en la siguiente sección.

¿Cuáles son los tipos de excepciones integradas?

En Python, las excepciones son instancias de una clase derivada de la clase BaseException. Cuando se detectan errores, Python genera una excepción. Hay varias excepciones integradas que es probable que encuentre mientras escribe programas en Python.

Echemos un vistazo a algunos de los más comunes:

  1. ZeroDivisionError: esto ocurre cuando intenta dividir un número por cero.

  2. NameError: esto se genera cuando intenta usar una variable o función que no se ha definido.

  3. ValueError : sucede cuando pasa un argumento del tipo correcto pero con un valor no válido.

  4. TypeError : este ocurre cuando pasa un argumento del tipo de datos incorrecto.

  5. FileNotFoundError : sucede cuando intenta abrir o acceder a un archivo que no existe.

  6. ImportError : se genera cuando intenta importar un módulo o paquete que no existe o no se puede encontrar.

Otras excepciones relevantes incluyen:

  1. OverflowError: este error se genera cuando el resultado de un cálculo es demasiado grande para ser representado.

  2. FloatingPointError: este se genera cuando falla una operación de punto flotante.

  3. IndexError: sucede cuando intenta acceder a un índice que está fuera del rango de una secuencia (por ejemplo, una lista o una tupla).

  4. KeyError: ocurre cuando intenta acceder a una clave que no existe en un diccionario.

  5. EOFError: se genera cuando Python encuentra el final del archivo (EOF) mientras lee la entrada, generalmente de una llamada read().

  6. ArithmeticError: una superclase para excepciones aritméticas, como ZeroDivisionError, OverflowError y FloatingPointError.

A veces, puede ser necesario usar excepciones definidas por el usuario, como una declaración de paso en un bloque donde se espera una excepción. Esto debe hacerse con prudencia, ya que podría suprimir otras excepciones.

Le proporcionamos la lista anterior de errores de excepciones comunes para que pueda usarla como guía para manejar posibles excepciones al escribir sus programas de Python.

Tenga en cuenta que la mayoría de las excepciones se pueden capturar y manejar, pero se debe tener cuidado al manejar la llamada más reciente para evitar el manejo anidado de otros casos de excepción.

En la siguiente sección, veremos algunos casos de uso del bloque try-except en Python. ¡Entremos en ello!

5 casos de uso del bloque Try-Except

Try Except block es una de las técnicas más utilizadas para manejar errores. Los siguientes son algunos de los casos de uso del bloque Try Except en Python:

1. Manejo de archivos con Try Except

Cuando se trabaja con archivos, siempre existe la posibilidad de que el archivo no exista o no esté en la ubicación desde la que el script intenta acceder a él.

El siguiente código generará una excepción cuando intentemos abrir un archivo que no está presente.

try: with open('file.txt', 'r') as file: print(file.read()) except FileNotFoundError: print('Sorry, this file does not exist.')

En este código, intentamos abrir y leer un archivo llamado 'archivo.txt'. Si 'archivo.txt' no existe, se produce una excepción, pero en lugar de un error al detener su programa, se imprimirá 'Lo siento, este archivo no existe'.

Python Try Except: ejemplos paso a paso

2. Manejo de la entrada del usuario con Try Except

La entrada del usuario es otra área donde a menudo ocurren excepciones. Los usuarios pueden proporcionar datos en un formato inesperado o dar una entrada que está fuera del rango aceptable.

El siguiente ejemplo muestra cómo manejar la entrada del usuario con un bloque try-except:

try: age = int(input("Enter your age: ")) except ValueError: print("That's not a valid age. Please enter a number.")

En este código, le pedimos al usuario que ingrese su edad. Si ingresan algo que no se puede convertir a un número entero (como una palabra o una letra), se produce una excepción, pero en lugar de que el programa se bloquee, imprimirá 'Esa no es una edad válida'. Por favor, introduzca un número.'

Python Try Except: ejemplos paso a paso

3. Acceso a claves de diccionario inexistentes

En Python, un diccionario es una colección desordenada y mutable de pares clave-valor , donde cada clave debe ser única.

Cuando intenta acceder a una clave que no existe en un diccionario, Python genera un KeyError. Puede usar try y except para manejar esta excepción como se muestra en el siguiente ejemplo:

dictionary = {"key1": "value1", "key2": "value2"} try: print(dictionary["key3"]) except KeyError: print("The key does not exist in the dictionary.")

En este código, está intentando imprimir el valor de 'key3' de un diccionario. Si 'key3' no existe en el diccionario, se produce una excepción, pero en lugar de que el programa se detenga con un error, imprimirá 'La clave no existe en el diccionario'.

Python Try Except: ejemplos paso a paso

4. Convertir una cadena en un entero

Puede haber ocasiones en las que desee convertir una cadena en un número entero. Pero si la cadena no representa un número entero válido, Python generará un ValueError.

Puede usar try y except para manejar este caso:

try: num = int("hello") except ValueError: print("That string can't be converted to integer.")

En este caso, 'hola' no se puede convertir en un número entero, por lo que Python genera un ValueError e imprime 'Esa cadena no se puede convertir en un número entero'.

Python Try Except: ejemplos paso a paso

5. Importación de un módulo

Al importar un módulo en Python , es posible que el módulo no exista o no esté instalado. Python generará un ImportError en tales casos.

Para manejar este caso, puede usar el siguiente código:

try: import some_module except ImportError: print("The module 'some_module' is not installed.")

En el ejemplo anterior, si 'algún_módulo' no está instalado o no existe, Python generará un ImportError e imprimirá 'El módulo 'algún_módulo' no está instalado'.

Python Try Except: ejemplos paso a paso

Para obtener más información sobre cómo escribir código en Python y manejar las expectativas, vea el siguiente video:

A continuación, veremos algunas de las mejores prácticas para manejar excepciones. ¡Vamos a sumergirnos en él!

Prácticas recomendadas para el manejo de excepciones

En esta sección, hemos enumerado algunas de las mejores prácticas para manejar excepciones con el bloque Try Except. Algunas mejores prácticas para el manejo de excepciones son:

1. Sea específico con las excepciones

Cuando está escribiendo su código, es crucial detectar las excepciones de la manera más específica posible. Esto significa que en lugar de simplemente capturar un nombre de excepción general, debe capturar el tipo real de excepción que espera.

De esta manera, sabrá exactamente qué tipo de error ocurrió y podrá manejarlo adecuadamente.

2. No suprima las excepciones

Cuando se trata de excepciones, es posible que tenga la tentación de capturarlo con un controlador de excepciones y no hacer nada con él. Esto es generalmente una mala idea.

Si ocurre un error, generalmente se debe a que hay algo que debe corregirse. Si suprime la clase de excepción, el error podría pasar desapercibido y causar problemas más adelante.

3. Use Finalmente para el código de limpieza

A veces, tiene algún código que necesita ejecutar independientemente de si ocurrió un error o no. Esto podría ser algo así como cerrar un archivo o liberar algunos recursos.

En estos casos, puede usar un bloque finalmente . El código dentro del bloque finalmente se ejecutará pase lo que pase, por lo que es un excelente lugar para colocar su código de limpieza.

try: # Some code here finally: # This code will run no matter what

4. Genera excepciones cuando sea necesario

Puede haber situaciones en las que necesite informar al usuario de su código que algo salió mal.

En estos casos, puede generar una excepción. Esto detendrá inmediatamente la ejecución de su código e informará al usuario que ocurrió un error.

if not valid_input: raise ValueError("Your input was not valid!")

Comprender e implementar estas mejores prácticas hará que su código sea más sólido, más fácil de depurar y evitará bloqueos inesperados.

Pensamientos finales

Para resumir, saber cómo usar try y except en Python realmente ayuda cuando escribes tu código y encuentras excepciones en él.

Permiten que su programa se ocupe de los errores sin problemas, en lugar de detenerse repentinamente. Es una forma de asegurarse de que su código pueda manejar sorpresas y seguir adelante.

Además, cuando usa probar y excepto, muestra que realmente está pensando en lo que podría salir mal y preparándose para ello. Así que tómese el tiempo para aprender estas herramientas: ¡son muy útiles cuando está escribiendo código en Python!


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber