Generar excepción en Python
- Generar excepción en Python
-
La sentencia
try
en Python -
La palabra clave
raise
en Python -
La cláusula
else
en Python
Presentaremos diferentes formas de generar una excepción en Python.
Generar excepción en Python
Cuando escribimos programas de Python y los ejecutamos, da una salida o un error si falta algo en el programa o algo está mal en el código. Las excepciones son algo así en el lenguaje de programación Python.
Python tiene muchas excepciones integradas que surgen cuando nuestro programa está haciendo algo mal. Si ocurre alguna excepción cuando intentamos ejecutar el programa, detendrá el programa y mostrará la excepción que ocurrió cuando el programa intentó ejecutar el código.
Este artículo demuestra cómo manejar las excepciones en nuestro programa de Python utilizando las declaraciones try
, except
y finally
mediante algunos programas simples.
La sentencia try
en Python
En Python, podemos manejar las excepciones usando las declaraciones try
dentro de nuestro código para minimizar las posibilidades de excepciones. La cláusula try
contiene la operación crítica que puede producir una excepción.
La cláusula excepto
contiene el código que resuelve las excepciones.
Ahora, veamos un ejemplo y usemos una instrucción try
para generar una excepción si el usuario ingresa un valor incorrecto.
# python
Any_List = [2, "Husnain", 4, 6, 8]
for value in Any_List:
try:
print("The value is", value)
raci = 1 / int(value)
print("The reciprocal of", value, "is", raci)
print("")
except:
print("Oops! There is a string in this list.")
print("The reciprocal of", value, "cannot be done!")
print("")
Producción:
El ejemplo anterior muestra que este programa pasa por las entradas de Any_List
, y si no hay excepciones, el bloque excepto
se omitirá y el código se ejecutará sin problemas hasta que llegue al último elemento de Any_List
. .
Pero, si hay alguna excepción al pasar por todos los elementos de Any_List
, se ejecutará el bloque excepto
e imprimirá los valores como se muestra en el resultado anterior.
Ahora, veamos un ejemplo en el que crearemos tres casos diferentes de excepto
. Mencionamos la instrucción try
con solo un bloque except
en el programa anterior.
Pero en este programa, usamos tres bloques “excepto” que dan más opciones para seleccionar la cláusula.
# python
VAR0 = 10
try:
VAR1 = int("Husnain")
VAR2 = int(56)
result = (int(VAR1) * int(VAR2)) / (VAR0 * int(VAR2))
except ValueError as ve:
print(ve)
exit()
except TypeError as te:
print(te)
exit()
except:
print("Unexpected Error!")
exit()
print(result)
Producción:
Este es un programa que contiene los tres bloques de excepciones. Ahora, veamos otro método, raise
, que se puede usar para generar una excepción en Python.
La palabra clave raise
en Python
Cuando hay algunos errores en el código durante el tiempo de ejecución en la programación de Python, se generan excepciones. Podemos usar la palabra clave raise
para generar excepciones manualmente.
También podemos pasar los valores a la excepción para proporcionar más información sobre la excepción y por qué el programa la generó.
Veamos un ejemplo en el que usaremos la palabra clave raise
para generar un error manualmente.
# python
try:
num = int(-23)
if num <= 0:
raise ValueError("entred number is not positive")
except ValueError as ve:
print(ve)
Producción:
El ejemplo anterior muestra que ingresar el número negativo genera una excepción que establecemos a través de la palabra clave raise
.
Ahora, veamos otro ejemplo en el que usaremos la cláusula else
para generar una excepción manualmente.
La cláusula else
en Python
En algunas situaciones, cuando queramos ejecutar un programa bajo la sentencia try
sin ningún error, usaremos la sentencia else
para completar el procesamiento del programa.
# python
try:
number = int(21)
assert number % 2 == 0
except:
print("It is not a even number!")
else:
reciprocal = 1 / number
print(reciprocal)
Producción:
Como puede ver en el ejemplo anterior, si el número ingresado es par, entonces el programa genera el recíproco del número, y si el número no es par, generará una excepción, como se muestra en los resultados anteriores.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn