La gestione dell'aria ci consente di far continuare l'esecuzione dello script, anche se si verifica un errore.
Proviamo un esempio per mostrarti come possiamo fare il trattamento dell'aria e il pitone.
Supponiamo di voler creare un programma che ci permetta di ricevere l'input di un utente.
Diciamo che chiediamo all'utente un H.
Quindi usiamo il prompt di input e diciamo, qual è la tua età?
E poi qui o faremo solo stampare il simpatico e semplice programma se eseguo questo.
E digito, diciamo, 10.
Ecco qua.
Funziona tutto, ma cosa succede se non inserisco un numero e procedo così?
Bene, funziona ancora, ma è quello che volevo fare con il mio programma, forse volevo inserire l'età e calcolare
se possono giocare al gioco di no o no, se hanno 18 anni e più, come possiamo risolvere
questo?
Bene, una cosa che possiamo fare è racchiudere questo in un ENT, giusto, quindi convertiamo tutto ciò che l'utente ci dà
in un numero intero in modo che se lo eseguo.
E scrivo questo.
Oh, ricevo un errore, un valore di errore litoral non valido per int, sto cercando di convertire.
Questo in un numero intero, ma mi dice che è un errore, non posso farlo.
Quindi, come possiamo risolvere questo problema con la gestione degli errori in Python?
Possiamo farlo in questo modo.
Abbiamo i tri loop, abbiamo la tastiera tri, che dice, ehi, voglio che tu provi questo pezzo di codice e
dobbiamo assicurarci di averlo inventato.
Quindi proviamo questo pezzo di codice.
Ora, tutto ciò che accade all'interno del blocco triplo.
sono in grado di gestire.
Scopri da dove viene la gestione, le aree con la parola chiave accept.
E accettare.
Dice, ehi.
Se qualunque cosa c'è qui dentro nel blocco tri, se qualcosa va in onda, voglio che tu dica qualcosa.
Quindi, invece di avere quest'aria rossa che esce dal programma, fai qualcos'altro.
Fai questo.
Quindi sto per dire.
Stampa, inserisci un numero.
Vediamo cosa succede ora.
Se clicco, corro.
Qual è la mia età?
Scriverò solo parole senza senso.
E guarda questo, ho ricevuto per favore inserisci un numero.
Sto gestendo i miei errori qui avvolgendo tutto il mio codice in un blocco di prova in modo da poter semplicemente copiare Basehead il mio intero file
qui, inserirlo all'interno di un blocco di prova.
E quello che succederà è che invece che il mio programma vada in onda prima che il mio programma vada
in crash, eseguirà questo codice e poi dirà, ehi, se all'interno di questo blocco succede qualcosa, lo cattureremo qui
con il blocco salvo .
E posso sentire.
Faccio quello che voglio nel mio caso, posso dire, ehi, per favore inserisci il nostro numero, ma abbiamo il nostro problema qui,
giusto?
Il programma è appena terminato e vogliamo che continui a funzionare.
Devo correre di nuovo e chiedere di nuovo la H.
Quindi, come puoi assicurarti che continuiamo a eseguirlo finché l'utente non inserisce effettivamente qualcosa in modo corretto?
Bene, l'abbiamo già visto, possiamo fare un ciclo while e dire while true.
Ron, questo.
E se funziona.
Bene, lo faremo.
Spero di ottenere l'H, vediamo che se clicco su Esegui avevo la mia età, diciamo.
No, inserisci un no, quanti anni hai?
Proviamo a romperlo di nuovo.
No, inserisci il nostro numero.
Va bene, va bene.
La mia età è 10.
Ecco, ho ricevuto il nome 10, ma, oh, mi chiede ancora quanti anni ho.
Idealmente, voglio uscire da questa affermazione vera, giusto, quindi come posso farlo?
Bene, posso usare quello che chiamiamo qui e altrimenti bloccare, che abbiamo visto prima.
Ma questo funziona con un tentativo tranne il blocco.
Lo mettiamo alla fine.
Dice, ehi, prova questo.
Se non c'è mai niente da fare.
Tuttavia, se non c'è nessun altro, fallo.
Quindi nel nostro caso, possiamo semplicemente dire break.
E sai una cosa, possiamo anche stampare grazie, solo così siamo carini se smetto di farlo e scappo di nuovo.
E do loro la mia età.
Ecco qua.
Abbiamo finito, siamo usciti dal giro e tutto va bene.
E questo blocco tri tranne altro può andare ovunque, possiamo avvolgere il nostro intero file in un blocco try tranne,
possiamo semplicemente aggiungerlo alle nostre funzioni all'interno delle nostre singole funzioni.
Quello che vogliamo, possiamo usarlo.
Questo è solo un altro strumento che Python ci offre per gestire Eres.
Ma lascia che ti chieda una cosa.
E se invece di stampare, cosa che ho fatto, diciamo dieci diviso per l'età?
Se eseguo il mio programma.
E digito qui zero ed entro.
Oh, arrivo, per favore inserisci un numero, ma ho inserito un numero.
Questo è un programma difettoso, anche se sto digitando un numero, continua a darmi lo stesso messaggio di errore.
Quindi come gestiamo questo?
Come gestiamo errori diversi, uno in cui è un errore di valore e un altro che è ovviamente un errore
di divisione zero?
Bene, nel blocco salvo, posso semplicemente dargli il tipo di errore che voglio gestire e ricordare, questi sono errori incorporati qui
che posso semplicemente copiare e incollare.
Quindi, nel mio caso, voglio dire che questo è per un errore di valore in modo che se eseguo il mio programma.
E digito zero.
Oh, ho la mia aria, questo tranne il blocco accetta solo valutatori, qualsiasi altro errore di cui non si preoccupa.
Hmm.
Allora cosa possiamo fare qui?
Bene, un'opzione è copiare qui e dire, ehi, aggiungiamone un'altra, eccetto e in questo caso,
voglio un errore di divisione zero nel caso in cui un utente immetta zero, puoi dire per favore inserisci l'età superiore a zero.
Quindi se eseguo questo ora.
E faccio di nuovo zero, per favore inserisci più di zero se faccio qualche incomprensione, oops, se faccio qualche incomprensione ottengo per favore inserisci
un numero se alla fine inserisco un numero.
Guarda quello.
Grazie.
Tutto funziona.
Ora, ecco la mia domanda, cosa succede se entriamo?
Un altro errore di valore qui e questo errore di valore dirà solo punti esclamativi.
Che succede ora?
Ricevo per favore inserisci un numero, perché questo blocco eccetto verrà eseguito solo una volta, non appena prende l'aria,
sta cercando che verrà eseguito.
E poi torna all'anello di filo.
Quindi solo uno degli eredi sarà catturato.
OK, facciamo una pausa e impariamo di più sulla gestione dell'aria nel prossimo video.
Ciao.