El manejo de aire nos permite dejar que el script continúe ejecutándose, incluso si hay un error.
Probemos un ejemplo para mostrarle cómo podemos manejar aire y python.
Digamos que queremos crear un programa que nos permita tomar la entrada de un usuario.
Digamos que le pedimos al usuario un H.
Entonces usamos el indicador de entrada y decimos, ¿cuál es su edad?
Y luego aquí o lo que vamos a hacer es imprimir el programa agradable y simple si ejecuto esto.
Y escribo, digamos, 10.
Ahí tienes.
Todo está funcionando, pero ¿qué pasa si no ingresé un número y sigo así?
Bueno, eso todavía funciona, pero es que lo que quería hacer con mi programa, tal vez quería ingresar la edad y
calcular si pueden jugar el juego de no hacerlo o no, ya sean mayores de 18 años, ¿cómo podemos arreglarlo?
¿esta?
Bueno, una cosa que podemos hacer es simplemente envolver esto en un ENT, correcto, entonces convertimos lo que sea que el usuario
nos dé en un número entero para que si ejecute esto.
Y escribo esto.
Oh, me sale un error, un valor de error litoral inválido para int, estoy tratando de convertir.
Esto en un número entero, pero me dice que es un error, no puedo hacer eso.
Entonces, ¿cómo podemos solucionar esto con el manejo de errores en Python?
Podemos hacerlo de esta manera.
Tenemos los tri bucles, tenemos el tri teclado, que dice, oye, quiero que pruebes este código y tenemos que asegurarnos
de que lo inventamos.
Así que probamos este fragmento de código.
Ahora, cualquier cosa que suceda dentro del tri block.
Soy capaz de manejar.
Vea de dónde proviene el manejo, áreas con la palabra clave accept.
Y acepta.
Dice, hey.
Si hay algo aquí en el tri block, si algo sale al aire, quiero que diga algo.
Entonces, en lugar de tener este aire rojo que sale del programa, haga otra cosa.
Hacer esto.
Así que voy a decir.
Imprimir, ingrese un número.
Veamos qué pasa ahora.
Si hago clic, corre.
¿Cual es mi edad?
Voy a escribir un galimatías.
Y mire eso, por favor ingrese un número.
Estoy manejando mis errores aquí envolviendo todo mi código en un bloque de prueba para poder simplemente copiar Basehead mi archivo completo aquí,
ponerlo dentro de un bloque de prueba.
Y lo que va a suceder es que en lugar de que mi programa se transmita antes de que mi programa
se bloquee, ejecutará este código y luego dirá, oye, si dentro de este bloque sucede algo, lo capturaremos aquí
con el bloque except. .
Y puedo oír.
Haga lo que quiera en mi caso, puedo decir, oye, ingrese nuestro número, pero tenemos nuestro problema aquí,
¿verdad?
El programa acaba de finalizar y queremos que siga funcionando.
Tengo que volver a correr y pedir la H una vez más.
Entonces, ¿cómo puede asegurarse de que sigamos ejecutando esto hasta que el usuario ingrese algo de manera justa?
Bueno, hemos visto esto antes, podemos hacer un ciclo while y decir mientras es verdadero.
Ron, esto.
Y si esto funciona.
Bueno, vamos a hacerlo.
Ojalá consiga la H, veamos que si hago clic en ejecutar tiene mi edad, digamos.
No, por favor ingrese un no ¿cuál es su edad?
Intentemos romperlo de nuevo.
No, ingrese nuestro número.
Está bien, está bien.
Mi edad es de 10 años.
Ahí tienes, obtengo el nombre 10, pero, oh, todavía me preguntan cuál es mi edad.
Idealmente, quiero romper con esta afirmación verdadera, ¿cómo puedo hacer eso?
Bueno, puedo usar lo que llamamos aquí y el bloque else, que hemos visto antes.
Pero esto funciona con un intento excepto bloquear.
Lo ponemos al final.
Dice, oye, prueba esto.
Si hay uno, nunca hagas esto.
Sin embargo, si no hay ningún otro lugar, haga esto.
Entonces, en nuestro caso, podemos simplemente decir descanso.
Y sabes qué, incluso podemos imprimir gracias, así que estamos bien si detengo esto y corro de nuevo.
Y les doy mi edad.
Ahí tienes.
Terminamos, salimos del circuito y todo está bien.
Y este bloque tri, excepto lo contrario, puede ir a cualquier parte, podemos envolver todo nuestro archivo en un intento, excepto el bloque, podemos
simplemente agregarlo a nuestras funciones dentro de cada una de nuestras funciones individuales.
Lo que queramos, lo podemos usar.
Esta es solo otra herramienta que Python nos da para manejar Eres.
Pero déjame preguntarte algo.
¿Y si lo hiciera en lugar de imprimir, lo que hice, digamos diez dividido por la edad?
Si ejecuto mi programa.
Y escribo aquí cero y entro.
Oh, entré allí, ingrese un número, pero ingresé un número.
Este es un programa con errores, aunque estoy escribiendo un número, todavía me da el mismo mensaje de error.
Entonces, ¿cómo manejamos esto?
¿Cómo manejamos los diferentes errores, uno donde es un error de valor y otro que obviamente es un error
de división cero?
Bueno, en el bloque excepto, puedo simplemente darle qué tipo de error quiero manejar y recordar, estos son errores incorporados aquí
que puedo simplemente copiar y pegar.
Entonces, en mi caso, quiero decir que esto es por un error de valor para que si ejecuto mi programa.
Y escribo cero.
Oh, tengo mi aire, esto excepto que el bloque solo acepta tasadores, cualquier otro error que no le importe.
Mmm.
Entonces, ¿qué podemos hacer aquí?
Bueno, una opción es copiar aquí y decir, oye, agreguemos otra, excepto y en este caso,
quiero un error de división cero en caso de que un usuario ingrese cero, puede decir por favor ingrese una edad mayor que cero.
Así que si ejecuto esto ahora.
Y hago cero de nuevo, ingrese un valor superior a cero si hago algún galimatías, oops, si hago algún galimatías que me sale por favor
ingrese un número si finalmente ingreso un número.
Mira eso.
Gracias.
Todo esta funcionando
Ahora, aquí está mi pregunta, ¿qué pasa si ingresamos?
Otro error de valor aquí y este error de valor solo va a decir signos de exclamación.
¿Que pasa ahora?
Por favor, ingrese un número, porque este bloque excepto que se ejecutará solo una vez, tan pronto como tome el aire,
está buscando que se ejecute.
Y luego regrese al bucle de alambre.
Así que solo uno de los herederos será capturado.
Bien, tomemos un descanso y aprendamos más sobre el manejo del aire en el siguiente video.
Adiós.