excepción de Python

Funciones y métodos de Python

El intérprete de Python puede generar excepciones de forma manual. Las excepciones integradas ayudan a detectar errores comunes en un programa.

En esta guía, vamos a discutir qué es una excepción y cómo se utilizan. Veremos un ejemplo de cómo generar una excepción para que pueda trabajar con ellos en su código.




¿Qué es una excepción?

Una excepción, también llamada error lógico , es un error que ocurre durante el tiempo de ejecución del programa.

Hay dos tipos de errores en Python: errores de sintaxis y errores de tiempo de ejecución. Los errores de sintaxis se generan antes de que se ejecute un programa. Si su programa encuentra un error de sintaxis, su programa no podrá ejecutarse. Esto se debe a que Python no puede interpretar el código que contiene errores de sintaxis.

Los errores de tiempo de ejecución, también llamados excepciones, se encuentran mientras Python ejecuta un programa. Se puede presentar una excepción en la línea 30 de un programa. Si se genera una excepción en la línea 30, se ejecutarán 30 líneas de código y el programa se detendrá.

Aquí hay un ejemplo de una excepción:

 Traceback (última llamada más reciente): Archivo "main.py", línea 6, en & lt; módulo & gt; s_names.append (n) AttributeError: el objeto 'str' no tiene atributo' append' 

Esta excepción nos dice que Python no puede ejecutar el resto de nuestro código. Si encuentra una excepción, debe leer atentamente el mensaje. El mensaje de error le dirá la mayor parte, si no todo, de lo que necesita saber para resolver un error.

Analicemos la última oración de nuestro mensaje de error:

El 81% de los participantes afirmaron que se sentían más seguros acerca de sus perspectivas laborales de tecnología después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

AttributeError: & lsquo; str & rsquo; el objeto no tiene atributo & lsquo; agregar & rsquo;

En este caso, sabemos que nuestro error es un AttributeError. Esto significa que estamos intentando hacer referencia a un atributo que no existe. Nuestro mensaje de error nos dice que estamos intentando usar append () en un objeto de cadena, lo cual no está permitido.

Debido a que los objetos de cadena no son compatibles con append () , un buen paso siguiente es buscar el equivalente de append () para las cadenas. Esta es la concatenación. Ahora tenemos una posible solución a nuestro problema de programación que podemos aplicar.





¿Dónde puedo encontrar una excepción?

Para ayudar a los programadores a detectar errores en su código, Python tiene una variedad de excepciones integradas. Estas excepciones pueden ayudarlo a identificar la causa de un problema en su código para que pueda solucionarlo. A continuación, se muestran algunas de las excepciones más comunes que probablemente encontrará:

  • TypeError: ocurre cuando aplica un función a un objeto cuyo tipo no admite esa función (por ejemplo, TypeError: solo puede unirse a un iterable )
  • SyntaxError: surge antes de que un programa se ejecute para indicarle que hay un problema en su sintaxis (por ejemplo, SyntaxError: sintaxis no válida)
  • KeyError: Ocurre si hace referencia a una clave en un diccionario que no no existe (p. ej., KeyError: & ldquo; usb_ports & rdquo;)
  • Importar Error: ocurre si intenta importar un paquete que no existe, o una función de un paquete que no existe.

Solo hemos enumerado algunas de las muchas excepciones que puede encontrar en el lenguaje Python.




Cómo generar una excepción

Puede definir sus propias excepciones personalizadas en su código. Esto puede ser útil si las excepciones integradas proporcionadas por Python no se adaptan a las necesidades de tu programa.

Vamos a escribir un programa que valide una contraseña para un juego. Para empezar, pidamos al usuario que introduzca una contraseña:

Para que la contraseña del usuario sea válida, debe tener más de 12 caracteres. Si la contraseña del usuario tiene 12 caracteres o menos, queremos generar una excepción.

Para hacer esto, usaremos un declaración if . La siguiente declaración if comprobará si la contraseña que ha elegido un usuario tiene menos de 12 caracteres:

 si len (contraseña) & gt; 12: print ("Tu contraseña es válida.") Else: raise Exception ("Tu contraseña no tiene la longitud correcta.") 

Usamos método len () para calcular la longitud de la contraseña de un usuario. Si un usuario inserta una contraseña no válida, nuestro programa generará una excepción con un mensaje que indica & ldquo; Su contraseña no tiene la longitud correcta & rdquo;


Probemos nuestro código para ver si funciona:

 Ingrese una contraseña: Bacon120 Traceback (última llamada más reciente): Archivo "main.py", línea 6, en & lt; módulo & gt; raise Exception ("Su contraseña no tiene la longitud correcta"). Excepción: Su contraseña no es la longitud correcta. 

La contraseña que ingresamos tenía menos de 12 caracteres. Nuestro código se detiene porque ingresamos una contraseña no válida. Intentemos ejecutar nuestro programa con una contraseña válida:

 Ingrese una contraseña: Bacon120Bacon120 Su contraseña es válida. 

Nuestro programa se ejecuta correctamente.




Cómo manejar una excepción

Por defecto, las excepciones detendrán la ejecución de un programa, aunque esto es útil porque te obliga a encontrar la solución t o un error, hay algunos casos en los que es posible que no desee que su programa deje de ejecutarse si se genera una excepción.

Por ejemplo, si está verificando si los puntos de datos en una lista son válidos, es posible que no desee que se genere una excepción cada vez que se descubra un punto de datos no válido.

Para manejar una excepción, puede usar un & ldquo; try & hellip; except & rdquo; cuadra. Escribamos un programa que busque un elemento en un diccionario. Este diccionario contiene una lista de los nombres de los estudiantes en una clase y sus calificaciones correspondientes en su prueba más reciente.

Para comenzar, definamos un diccionario con información sobre el estudiante y la calificación:

 data = {"Lucy": 73, "Carlton": 59, "Adam": 73} 

A continuación, pidamos a un usuario que inserte un nombre cuya calificación desea recuperar. Vamos a hacer esto dentro de un & ldquo; intentar & rdquo; block para que podamos manejar una excepción más adelante en nuestro código:

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. Dos meses después de graduarme, encontré ¡el trabajo de mis sueños que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Este código se imprimirá la calificación del estudiante cuyo nombre coincide con el que un usuario ha insertado en el programa. Sin embargo, si un usuario inserta un nombre que no es válido, se encontrará un KeyError.


Vamos a manejar esto agregando un bloque excepto a nuestro código:

 try: student = input (" Ingrese el nombre del estudiante cuya calificación desea recuperar: ") print (data [estudiante]) excepto: print (" Este estudiante no está presente en la lista de calificaciones. ") 

Si no se puede encontrar un estudiante, se ejecuta la cláusula except. Ejecutemos nuestro programa:

 Ingrese el nombre del estudiante cuya calificación desea recuperar: Lucy 73 

Cuando ingresamos un nombre de estudiante válido , nuestro programa funciona. Probemos nuestro programa si insertamos un nombre de estudiante no válido:

 Ingrese el nombre del estudiante cuya calificación desea recuperar ve: Kaitlin Este estudiante no está presente en la lista de calificaciones. 

Se plantea una excepción pero nuestro programa no se detiene. En cambio, el contenido de & ldquo; except & rdquo; bloque se ejecutan.

Para obtener más información sobre el bloque try & hellip; except, lea nuestra guía sobre Python try & hellip; except .




Conclusión

Las excepciones le informan que hay un error lógico en su código. Cuando se genera una excepción, debería ver el tipo de excepción, donde se generó la excepción, así como un mensaje de error. Puede usar esta información para encontrar la causa de la excepción.

Puede generar sus propias excepciones usando la declaración de aumento. Puede manejar excepciones usando el bloque de código try & hellip; except.

¡Ahora tiene las herramientas que necesita para resolver una excepción de Python como un profesional!





excepción de Python: StackOverflow Questions

Tutorials