Declaraciones de prueba de prueba en Python

Declaraciones de prueba de prueba en Python
"Al escribir código en Python, especialmente si es un poco más complicado, es más probable que encuentre errores. Entonces, la forma de escribir un buen código es manejar estos errores hábilmente. Necesitamos asegurarnos de que podamos encender suavemente estos errores en otra ruta. Y así, para este propósito, en Python, se creó la declaración Try-Except. La instrucción Try-Except consiste en un bloque de try y uno o más excepto bloques. En este tutorial, aprenderemos sobre la declaración de try-except."

Declaración Try-Except

La declaración Try-Except se parece a esto:

intentar:
Código
Excepto el nombre de la excepción:
Código

Entonces, tenemos la declaración de prueba, y luego el código se coloca allí; Este es el código principal que desea ejecutar. Luego está la declaración excepto con otro conjunto de códigos, pero este código está destinado a lidiar con la excepción. Python intentará ejecutar primero y principalmente todo el código dentro de la declaración de prueba. Cuando no hay error, entonces todo va bien, y la declaración excepto se pasa simplemente (omitida). Si, por otro lado, se produce una excepción, entonces Python verificará si coincide con el nombre de la excepción en la declaración excepto. Si coincide, comenzará a ejecutar el código de la declaración excepto.

Ejemplo 1

principal.py
intentar:
y = (2/3)
Imprimir (y)
Excepto ZeroDivisionError como error:
Imprimir ("Error: % S" % Error)
Imprimir ("Esta declaración está fuera de la cláusula Try-Except.")

Producción:

0.66666666666666666

Esta declaración está fuera de la cláusula Try-Except.

Proceso terminado con el código de salida 0

Así que aquí, tenemos una declaración Try-Except y luego un poco de código fuera del bloque Try-Except. Debido a que nos estamos dividiendo 2 por 3 y que nos da un número válido, ejecutará la declaración de prueba y luego omitirá la declaración excepto, porque no hay zeroDivisionError. Una vez que omite la declaración excepto, continúa con el resto del programa y termina sin problemas. El punto de este ejemplo es mostrar que la declaración excepto se puede omitir.

Ejemplo #2

principal.py
intentar:
y = (2/0)
Imprimir (y)
Excepto ZeroDivisionError como error:
Imprimir ("Error: % S" % Error)

Producción:

Error: división por cero

Proceso terminado con el código de salida 0

En este caso, en el bloque de try, estamos tratando de dividir 2 por 0 y asignar el valor a Y. Como puede o no saber, simplemente no puede dividirse por 0, por lo que hay un pequeño problema aquí. Dado que queremos ser hábiles para tratar los errores, hemos decidido escribir un bloque excepto con el nombre de excepción de ZeroDivisionError. Lo que esto hace es atrapar ZeroDivisionError o, en otras palabras, división por error cero e imprimir el error. Entonces, qué obtenemos? Una declaración que dice que simplemente no puedes dividir por cero. Pero el punto es que nuestro programa no se bloqueó! En su lugar señaló el defecto.

Ejemplo #3

principal.py
intentar:
archivo = "archivo.TXT"
F = Open (archivo, 'r')
imprimir (F.leer())
Excepto ZeroDivisionError como error:
Imprimir (error)
Excepto sintaxerror como serror:
Imprimir (Serror)
Excepto FileNotfoundError como ferror:
Imprimir (Ferror)

Producción:

[ERRNO 2] No hay dicho archivo o directorio: 'Archivo.TXT'

Proceso terminado con el código de salida 0

El punto de este ejemplo es simple: puede escribir tantas excepciones como desee. Si cree que podría haber un FileNotFoundError, lo agrega a la lista de errores. Esto significará que cuando Python intenta ejecutar el bloque de try, no encuentra el archivo, por lo que sale de la instrucción TRY y busca las declaraciones excepto para ver si alguno de ellos coincide con el error planteado. Dado que el último coincide, imprimirá el ferror o el filenotfoundError.

Ejemplo #4

En este caso, veremos un ejemplo que toma este formato:

intentar:
Código establecido 1
Código establecido 2
Excepto ExceptionName1:
Código establecido 3
Excepto ExceptionName2:
Código establecido 4
Excepto ExceptionName3:
Código establecido 5.py
intentar:
archivo = "archivo.TXT"
F = Open (archivo, 'r')
imprimir (F.leer())
y = (2/0)
Imprimir (y)
Excepto ZeroDivisionError como error:
Imprimir (error)
Excepto sintaxerror como serror:
Imprimir (Serror)
Excepto FileNotfoundError como ferror:
Imprimir (Ferror)

Producción:

[ERRNO 2] No hay dicho archivo o directorio: 'Archivo.TXT'

Proceso terminado con el código de salida 0

En este ejemplo en particular, tenemos dos errores: un FileNotfoundError y un ZeroDivisionError. Pero observe cómo el primer error es FileNotFoundError. Entonces, ¿qué hace Python?? Comienza a leer el código, la declaración de prueba y se encuentra con el filenotfoundError, por lo que sale de la declaración de prueba y comienza a escanear a través de las diversas declaraciones excepto, y encuentra el filenotfoundError, excepto la declaración y, por lo tanto, ejecuta el código dentro de él. Aquí, se omite el segundo error, y no obtenemos un ZeroDivisionError.

Ejemplo #5

principal.py
intentar:
x = '9'
Si x> 6:
Imprimir (x/6)
Excepto ZeroDivisionError como error:
Imprimir (error)
excepto:
imprimir ("algún otro error")

Producción:

Algún otro error

Proceso terminado con el código de salida 0

Entonces, en este ejemplo, había un typeError porque no puede usar> entre una cadena y un entero. Por lo tanto, se intenta el bloque de try, y cuando se enfrenta el error de tipo, va directamente al "general" excepto la cláusula y ejecuta eso. En otras palabras, si quieres captar errores y no conoces sus nombres, puedes dejar la parte de excepción en blanco.

El punto de este ejemplo es que puede usar la declaración excepto sin nombrar un error, y debería, en teoría, atrapar cualquier error lanzado, pero no se recomienda! En otras palabras, simplemente usar, excepto sin una excepción, no se recomienda realmente.

Conclusión

La declaración Try-Except es una bendición para todos los programadores que usan Python. La declaración Try-Except consta de dos o más bloques. El primer bloque es siempre el bloque de instrucciones de try que está lleno de código. Después de lo cual, puede agregar uno o más, excepto bloques para detectar errores muy específicos. Por lo general, también debe asignar un nombre a la declaración excepto (ex: excepto ZeroDivisionError); Sin embargo, si realmente no sabe qué tipo de errores encontrará, puede dejarlo en blanco (ex: excepto). De cualquier manera, lo mejor de todos los programadores sabrá no cometer errores y, por lo tanto, tienden a utilizar menos excepto bloques, pero a cada uno su gusto. Así que usa la declaración Try-Except sabiamente. No olvides que la programación implica habilidad.

Codificación feliz!