Una excepción es un evento inesperado que ocurre durante la ejecución del programa. También se conoce como error de tiempo de ejecución. Cuando ocurre ese error, Python genera una excepción durante la ejecución y eso puede ser manejado, lo que evita que su programa se interrumpa. En este artículo, nos centraremos en '¿Cómo podemos imprimir una excepción en Python?'
¿Qué es la excepción en Python?
En Pitón , La excepción es un tipo de error en el programa. Un error se denomina 'excepción' cuando el programa es sintácticamente correcto, pero se produce un error al ejecutarlo.
lista de fuentes en gimp
Ejemplo : En el ejemplo, intentamos dividir un número entre cero, por lo que se produce un error de tiempo de ejecución.
Python3
num1>=> 5> num2>=> 0> print>(num1>/> num2)> |
>
>
Producción
Traceback (most recent call last): File 'Solution.py', line 5, in print(num1 / num2) ZeroDivisionError : division by zero>
Este programa es sintácticamente correcto. . El único problema aquí se debe a los números que se utilizan para la operación. Como no podemos dividir ningún número entre 0, arroja un error. Por tanto, este es un ejemplo de 'Excepción'.
¿Cómo se ven las excepciones?
En el programa anterior, cuando lo ejecutamos, obtuvimos una excepción. El error que se produjo mostró la línea en la que ocurrió el error, la línea exacta y el tipo de error.
El tipo de error que se mostró se llama 'Excepción'. A través de Excepciones, conocemos el problema que ha ocurrido. La excepción en el programa anterior es ZeroDivisionError: división por cero .
Ejemplo : Aquí, la asignación de la variable var1 se realiza mediante un variable indefinida , var2.
Python3
var1>=> var2> |
>
>
Producción
Traceback (most recent call last): File 'Solution.py', line 2, in var1 = var2 NameError: name 'var2' is not defined>
Arriba, podemos ver la excepción como NameError: el nombre 'var2' no está definido .
Manejo de excepciones en Python
Las excepciones pueden resultar muy molestas en ocasiones. Aquí es donde entra en juego el concepto de Manejo de Excepciones. A través del Manejo de Excepciones, podemos manejar fácilmente las excepciones para el usuario en lugar de simplemente arrojarle errores.
Ejemplo : En este programa, la entrada se toma en el tipo 'int'. Pero si ingresamos un carácter en él, arrojará un 'ValueError'. Esto puede confundir al usuario muchas veces. Aquí es donde hacemos el manejo de excepciones. En lugar de generar un error de valor y confundir al usuario, mostraremos una declaración sugiriéndole que vuelva a intentarlo y le daremos la oportunidad de intentar ingresar los números nuevamente.
Python3
num1>=> int>(>input>(>'Enter num1: '>))> num2>=> int>(>input>(>'Enter num2: '>))> answer>=> f>'{num1} / {num2} = {num1 / num2}'> print>(answer)> |
>
>
Producción
Enter num1: 1 Enter num2: b Traceback (most recent call last): File 'D:/PycharmProjects/pythonProject2/main.py', line 15, in num2 = int(input('Enter num2: ')) ValueError: invalid literal for int() with base 10: 'b'> Usando try, excepto y más
En este código, el bucle while se ejecuta porque queremos permitir que el usuario intente hasta que la entrada se proporcione de la forma correcta. Hemos utilizado la cláusula 'try'. La cláusula try busca errores en las líneas de esa cláusula.
Si se encuentra una excepción, salta a la cláusula 'excepto' e imprime el mensaje de error que le proporcionamos. Hemos escrito dos cláusulas excepto, una con ValueError y la otra con ZeroDivisionError. Cada una de estas cláusulas trata de las respectivas excepciones e imprime los respectivos mensajes.
entero a cadena en java
Luego, por último, hemos escrito la cláusula else. Si no se encuentra ningún error, se ejecuta el bloque else. En el bloque else, imprimimos el cociente de la división y salimos del bucle.
Python3
while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as e:> >print>(>'Try putting an integer value.
Error Occured:'>, e)> >except> ZeroDivisionError as ex:> >print>(>'Division by zero is invalid!
Error Occured:'>, ex)> >else>:> >print>(answer)> >break> |
>
>
Producción:

Excepciones de impresión
Ahora, como hemos visto qué son exactamente las excepciones, cómo se ven y cómo manejarlas, ahora veremos cómo imprimirlas.
Para imprimir las excepciones, usamos 'como' palabra clave de Python.
Hemos usado el mismo ejemplo que usamos antes. Usamos la palabra clave 'as' y declaramos la variable 've' para 'ValueError' y 'zde' para 'ZeroDivisionError'. Luego, si encontramos alguna excepción, hemos escrito el código para imprimir esa excepción. Pero aún así, no podemos ver el tipo de excepción que obtuvimos.
Python3
while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as ve:> >print>(ve)> >except> ZeroDivisionError as zde:> >print>(zde)> >else>:> >print>(answer)> >break> |
>
>
Producción:
Enter num1: a invalid literal for int() with base 10: 'a' Enter num1: 0 Enter num2: 0 division by zero Enter num1: 16 Enter num2: 4 16 / 4 = 4.0>
Tipo de excepción de impresión
Para ver el tipo de excepción, podemos usar la función type().
Aquí hemos utilizado la función type() para conocer el tipo de excepción que hemos encontrado al ejecutar el código.
Python3
while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as ve:> >print>(>type>(ve), ve)> >except> ZeroDivisionError as zde:> >print>(>type>(zde), zde)> >else>:> >print>(answer)> >break> |
¿Cuándo se inventó la primera computadora?
>
>
Producción
Enter num1: a invalid literal for int() with base 10: 'a' Enter num1: 1 Enter num2: 0 division by zero Enter num1: 4 Enter num2: 2 4 / 2 = 2.0>