La gestion de l'air nous permet de laisser le script continuer à s'exécuter, même s'il y a une erreur.
Essayons un exemple pour vous montrer comment nous pouvons faire du traitement de l'air et du python.
Disons que nous voulions créer un programme qui nous permet de prendre l'entrée d'un utilisateur.
Disons que nous demandons à l'utilisateur un code H.
Nous utilisons donc l'invite de saisie et disons, quel âge avez-vous ?
Et puis ici, ou nous allons le faire, c'est simplement imprimer le programme simple et agréable si je l'exécute.
Et je tape, disons, 10.
Voilà.
Tout fonctionne, mais que se passe-t-il si je n'ai pas entré de numéro et que je fais comme ça ?
Bon, ça marche toujours, mais c'est ce que je voulais faire avec mon programme, peut-être que je voulais entrer l'âge et
calculer s'ils peuvent jouer le jeu de pas ou pas, s'ils ont 18 ans et plus, comment pouvons-nous régler
cette?
Eh bien, une chose que nous pouvons faire est simplement d'envelopper cela dans un ENT, d'accord, donc nous convertissons tout ce que
l'utilisateur nous donne en un entier afin que si je l'exécute.
Et je tape ceci.
Oh, j'obtiens une erreur, une erreur de valeur litoral invalide pour int, j'essaie de convertir.
Ceci en un entier, mais cela me dit que c'est une erreur, je ne peux pas faire ça.
Alors, comment pouvons-nous résoudre ce problème avec la gestion des erreurs en Python ?
Nous pouvons le faire de cette façon.
Nous avons les boucles tri, nous avons le clavier tri, qui dit, hé, je veux que vous essayiez ce morceau de code et nous devons
nous assurer que nous avons inventé.
Nous essayons donc ce morceau de code.
Maintenant, tout ce qui se passe à l'intérieur du bloc tri.
Je suis capable de gérer.
Voir d'où vient la manipulation, les zones avec le mot-clé accept.
Et accepter.
Dit, hé.
Si quoi qu'il y ait dans le bloc tri, si quelque chose se passe, je veux que vous disiez quelque chose.
Alors au lieu d'avoir cet air rouge qui sort du programme, faites autre chose.
Faites ceci.
Alors je vais dire.
Imprimer, veuillez entrer un numéro.
Voyons ce qui se passe maintenant.
Si je clique, cours.
Quel est mon age?
Je vais juste écrire du charabia.
Et regardez ça, je reçois s'il vous plaît entrez un nombre.
Je gère mes erreurs ici en enveloppant tout mon code dans un bloc try afin que je puisse simplement copier Basehead tout mon fichier ici,
le mettre à l'intérieur d'un bloc try.
Et ce qui va se passer, c'est qu'au lieu que mon programme soit diffusé avant que mon programme ne plante, il va
exécuter ce code et ensuite il va dire, hé, si quelque chose se passe dans ce bloc, nous l'attraperons ici
avec le bloc except .
Et je peux entendre.
Faites ce que je veux dans mon cas, je peux dire, s'il vous plaît, entrez notre numéro, mais nous avons notre problème ici, n'est-ce pas
?
Le programme vient de se terminer et nous voulons que cela continue.
Je dois courir à nouveau et demander à nouveau le H.
Alors, comment pouvez-vous vous assurer que nous continuerons à exécuter cela jusqu'à ce que cet utilisateur entre réellement quelque chose de manière équitable ?
Eh bien, nous avons déjà vu cela auparavant, nous pouvons faire une boucle while et dire while true.
Ron, ça.
Et si cela fonctionne.
Eh bien, nous allons.
Espérons que j'obtienne le H, voyons que si je clique sur exécuter, c'est mon âge, disons.
Non, veuillez entrer un non quel est votre âge ?
Essayons de le casser à nouveau.
Non, veuillez entrer notre numéro.
D'accord, très bien.
Mon âge est de 10 ans.
Voilà, j'obtiens le nom 10, mais, oh, c'est quand même me demander quel est mon âge.
Idéalement, je veux sortir de cette vraie déclaration, n'est-ce pas, alors comment puis-je le faire ?
Eh bien, je peux utiliser ce que nous appelons ici et sinon bloquer, ce que nous avons déjà vu.
Mais cela fonctionne avec un essai sauf bloc.
Nous le mettons à la fin.
Il dit, hé, essayez ceci.
S'il y a quelqu'un, faites-le.
Cependant, s'il n'y a nulle part ailleurs, faites-le.
Donc, dans notre cas, nous pouvons simplement dire pause.
Et vous savez quoi, nous pouvons même imprimer merci, juste pour que nous soyons gentils si j'arrête ça et que je cours à nouveau.
Et je leur donne mon âge.
Voilà.
Nous avons terminé, nous sommes sortis de la boucle et tout va bien.
Et ce bloc tri except else peut aller n'importe où, nous pouvons envelopper l'intégralité de notre fichier dans un bloc try except, nous pouvons
simplement l'ajouter à nos fonctions à l'intérieur de chacune de nos fonctions individuelles.
Tout ce que nous voulons, nous pouvons l'utiliser.
Ceci est juste un autre outil que Python nous donne pour gérer Eres.
Mais laissez-moi vous demander quelque chose.
Et si je faisais au lieu d'imprimer, ce que je faisais, disons dix divisé par l'âge ?
Si je lance mon programme.
Et je tape ici zéro et j'entre.
Oh, j'entre là-dedans, s'il vous plaît entrez un numéro, mais j'ai entré un numéro.
C'est un programme bogué, bien que je tape un nombre, il me donne toujours le même message d'erreur.
Alors comment gérer cela ?
Comment gérons-nous les différentes erreurs, une où il s'agit d'une erreur de valeur et une autre qui est évidemment une erreur
de division zéro ?
Eh bien, dans le bloc except, je peux simplement lui donner le type d'erreur que je veux gérer et me souvenir, ce sont des erreurs intégrées
ici que je peux simplement copier et coller.
Donc, dans mon cas, je veux dire que c'est pour une erreur de valeur afin que si j'exécute mon programme.
Et je tape zéro.
Oh, je reçois mon air, ce bloc except n'accepte que les évaluateurs, toutes les autres erreurs dont il ne se soucie pas.
Hmm.
Alors que pouvons-nous faire ici?
Eh bien, une option consiste à copier ici et à dire, hé, ajoutons-en une autre, sauf que dans
ce cas, je veux une erreur de division zéro au cas où un utilisateur entrerait zéro, vous pouvez dire s'il vous plaît, entrez un âge supérieur à zéro.
Alors que si je lance ça maintenant.
Et je fais à nouveau zéro, s'il vous plaît entrez plus haut que zéro si je fais du charabia, oops, si je fais du charabia que j'obtiens s'il vous
plaît entrez un nombre si j'entre enfin un nombre.
Regarde ça.
Merci.
Tout fonctionne.
Maintenant, voici ma question, que se passe-t-il si nous entrons ?
Une autre erreur de valeur ici et cette erreur de valeur va juste dire des points d'exclamation.
Que se passe-t-il maintenant ?
Je reçois s'il vous plaît entrez un nombre, car ce bloc excepté ne va fonctionner qu'une seule fois, dès qu'il prend
l'air, il cherche, il va fonctionner.
Et puis revenez à la boucle de fil.
Ainsi, un seul des héritiers sera attrapé.
OK, faisons une pause et apprenons-en plus sur le traitement de l'air dans la prochaine vidéo.
Au revoir.