Pitón

Excepción de Python

Excepción de Python

Una excepción es un evento que surge durante la ejecución de un programa para terminar o cambiar el flujo normal de un programa. Un error, por ejemplo, genera una excepción. Como otros lenguajes de programación, Python contiene muchas excepciones integradas. Estas excepciones se generan si se encuentra un error cuando se ejecuta el programa. El tipo de error determina qué excepción se debe generar. Cuando ocurre una excepción, el intérprete de Python comprueba si se maneja la excepción; si no, termina el programa. Este artículo explica las excepciones en Python a través de varios ejemplos.

Excepciones de Python integradas

Como se discutió anteriormente, Python tiene muchas excepciones integradas que se generan cuando ocurre un error durante la ejecución de un programa. Cada excepción se deriva de una clase base "Excepción". A continuación, se incluyen algunas excepciones de Python integradas, junto con una breve descripción de cada tipo de excepción:

Excepción Descripción
Excepción Todas las excepciones se derivan de esta clase.
ImportError Esta excepción se genera cuando se importa un módulo específico y no se encuentra.
EOFError Esta es la excepción al final del archivo. Esta excepción ocurre cuando se llega al final del archivo.
ZeroDivisionError Esta excepción se genera cuando un número se divide por cero.
KeyError Esta excepción se genera si se especifica o se usa una determinada clave que no está definida dentro de un diccionario.
IndexError Esta excepción se genera cuando se ha intentado acceder a un índice de secuencia que no está en el rango.
FloatingPointError Esta excepción se genera cuando falla una operación de punto flotante.

Estas son algunas de las excepciones integradas en Python. Visite la documentación oficial para obtener más información sobre el uso de excepciones integradas en Python, que se encuentra en https: // docs.pitón.org / 3 / library / exceptions.html.

Uso de excepciones en Python

Las excepciones en Python se manejan usando la declaración try. El fragmento de código que puede lanzar o generar una excepción se implementa en un bloque try. Junto al bloque try, se implementa un bloque except para manejar la excepción. En el bloque except, capturamos la excepción y decidimos qué operación realizar cuando encontramos esa excepción en particular. La sintaxis para escribir los bloques try y except es la siguiente:

intentar:
realizar la operación o función
excepto:
funcionalidad para manejar la excepción

Ahora, implementaremos un código simple en nuestro script de Python usando los bloques try y except.

Aquí, imprimiremos una variable de 'nombre' que no está definida. Esto genera una excepción en el bloque except.

#implementando el bloque try
intentar:
imprimir (nombre)
#implementando el bloque except
excepto:
print ("Ocurrió una excepción")

Producción

Si no se produce ninguna excepción, solo se ejecuta el bloque try. En el bloque excepto, se imprime una declaración de que se ha producido una excepción.

Veamos otro ejemplo donde definimos la variable de nombre:

#definiendo la variable de nombre
name = "Mark"
#implementando el bloque try
intentar:
imprimir (nombre)
#implementando el bloque except
excepto:
print ("Ocurrió una excepción")

Producción

En el ejemplo anterior, el bloque try se ejecuta y el bloque except se omite porque el programa no genera ninguna excepción. Podemos definir tantos bloques excepto en nuestro programa como queramos. Todos los bloques excepto manejan un tipo específico de excepción.

#implementando el bloque try
intentar:
imprimir (nombre)
# implementar el bloque except para detectar el error de nombre
excepto NameError:
print ("La variable no está definida")
#implementando el bloque except
excepto:
print ("Algo salió mal que no sea el error de nombre")

Producción

En Python, Exception es la clase base para todas las excepciones. En lugar de escribir el nombre de una excepción en particular en el bloque except, simplemente podemos escribir "Exception" y capturar cada tipo de excepción de esta manera.

#implementando el bloque try
intentar:
imprimir (nombre)
# implementar el bloque except para detectar el error
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque except
excepto:
print ("Algo salió mal que no sea el error de nombre")

Producción

El exp.__class__ devuelve el nombre de la clase de excepción.

Del mismo modo, veamos un ejemplo de la clase "ZeroDivisionError".

#implementando el bloque try
intentar:
x = 1/0
imprimir (x)
# implementar el bloque except para detectar el error
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque except
excepto:
print ("Algo salió mal que no sea el error de nombre")

Producción

El otro bloque

El bloque else se usa con los bloques try y exception. El bloque else define un fragmento de código que se ejecuta si el bloque try se ejecuta correctamente y no se produce ningún error. A veces, es posible que deba imprimir un mensaje o realizar una función cuando el bloque try se haya ejecutado con éxito. Por esta razón, podemos implementar el bloque else con los bloques try y except.

En este ejemplo, implementaremos el bloque else en nuestro script de Python.

#implementando el bloque try
intentar:
x = 1/2
imprimir (x)
# implementar el bloque except para detectar el error
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque else
demás:
print ("Todo salió bien")

Producción

El bloque else se ejecuta después de la ejecución exitosa del bloque try.

Veamos ahora otro ejemplo usando el bloque else.

#implementando el bloque try
intentar:
name = "Mark"
# implementar el bloque except para detectar el error
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque else
demás:
print ("El nombre es:", nombre)

Producción

En el ejemplo anterior, la variable de nombre se define dentro del bloque try y se imprime en el bloque else.

El bloque finalmente

La finalmente El bloque contiene el fragmento de código que debe ejecutarse independientemente de si el bloque try genera una excepción. El bloque finalmente es opcional y se declara con el bloque try. Por ejemplo, si hemos abierto un archivo de texto para leer el bloque try y genera un error o una excepción, es mejor encerrar el archivo en el bloque finalmente, incluso si ocurre el error. Implementemos el bloque finalmente en nuestro script de Python.

#implementando el bloque try
intentar:
imprimir (my_dict)
# implementar el bloque except para detectar el error
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque finalmente
finalmente:
print ("Este es el bloque final")
print ("El bloque finalmente se ejecuta")

Producción

En la salida, se puede ver que el bloque try genera una excepción. Sin embargo, el bloque finalmente se ejecuta al final.

Ahora, abramos un archivo de texto en el bloque try, que genera una excepción mientras que el archivo encerrado en el bloque finalmente.

#implementando el bloque try
intentar:
fileObj = open ("mystudent.xml "," r ")
fileObj.buscar (-2)
imprimir (fileObj.readlines ())
#implementando el bloque except
excepto Excepción como exp:
imprimir (exp.__clase__)
#implementando el bloque finalmente
finalmente:
fileObj.cerca()
imprimir ("El archivo se ha cerrado correctamente")

Producción

Como puede ver, independientemente del error de valor, el archivo se ha cerrado con éxito dentro del bloque finalmente.

Plantear una excepción

Aunque las excepciones se generan automáticamente cuando ocurre un error, en Python, también puede generar excepciones manualmente. La aumentar La palabra clave se usa para generar o lanzar la excepción.

Ahora presentaremos algunas excepciones usando la palabra clave raise. En el siguiente ejemplo, la condición if se implementa para verificar números no negativos. Si existen números no negativos, se genera la excepción "No se permiten números no negativos".

#declarando dos variables numéricas
num1 = 20
num2 = -10
si ((num1<0) | (num2<0)):
Excepción de aumento ("No se permiten números no negativos")
demás:
imprimir (num1 + num2)

Producción

Conclusión

Se produce una excepción en respuesta a un error en tiempo de ejecución. En Python, podemos manejar excepciones usando los bloques try y except. Este artículo explica cómo usar excepciones en Python a través de varios ejemplos.

El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...