Declaración Try-Except
La declaración Try-Except se parece a esto:
intentar: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.pyProducción:
0.66666666666666666Esta 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.pyProducción:
Error: división por ceroProceso 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.pyProducció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: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.pyProducción:
Algún otro errorProceso 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!