‫Content de te revoir.
‫Dans cette vidéo, vous apprendrez comment détecter les erreurs et faire quelque chose lorsqu'une erreur se produit et ne pas faire planter
‫votre programme ou quelque chose comme ça.
‫Ainsi, une utilisation courante de catch et finalement ensemble est d'obtenir et d'utiliser des ressources et d'essayer de faire face à des circonstances
‫exceptionnelles et un bloc catch et de libérer les ressources dans le bloc final.
‫Et ce que cela signifie, c'est ce que nous allons couvrir dans cette vidéo.
‫Donc, afin de rencontrer une erreur, procédons comme suit.
‫Nous utilisons la ligne droite de la console.
‫Donc, et pour voir le double tap ici, je dis s'il vous plaît entrez un numéro et nous inviterons simplement notre utilisateur à entrer
‫un numéro.
‫Et puis nous voulons stocker cela dans la saisie de l'utilisateur, qui sera juste une chaîne
‫verbale et qui lira tout ce que l'utilisateur doit saisir ou dire.
‫Et ce devrait être un nombre à la fin.
‫Droit.
‫C'est l'objectif que nous avons.
‫Mais si nous faisons l'entrée suivante de l'utilisateur final comme entrée et que nous l'utilisons dans Dart Pass, vous avez déjà vu des parties
‫et nous essayons d'analyser l'entrée utilisateur qui a été donnée ici par l'utilisateur.
‫Nous allons essayer d'en faire un entier, et maintenant si vous l'exécutez, veuillez entrer un nombre et pendant
‫trois et notre programme va bien, en fait.
‫Ajoutons ici une console qui lit la clé afin que nous voyions encore mieux que le programme fonctionne toujours bien.
‫Veuillez donc saisir un numéro.
‫Je vais juste entrer cinq et notre programme est en cours d'exécution et il n'a pas planté.
‫Tout va bien.
‫Alors maintenant, exécutons-le à nouveau.
‫Mais au lieu d'entrer un non, ajoutons une lettre ou écrivons du texte.
‫Ce n'est pas.
‫Passable dans un entier, ce que nous faisons ici à la ligne 16, dans mon cas, je vais entrer et
‫mon programme plante et il dit exception, exception de formatage système non gérée, la chaîne d'entrée n'était pas dans
‫un format correct.
‫D'accord.
‫Ainsi, la chaîne qui a été donnée par l'utilisateur n'était pas dans le bon format pour la passer en entier.
‫Et c'est ce qu'est une exception formelle.
‫Maintenant, nous pouvons gérer cela en créant un bloc try and catch.
‫Alors disons que nous utilisons try.
‫Et ici, vous pouvez voir qu'il existe une option pour utiliser try and catch C ou que je peux simplement l'utiliser pour
‫essayer un double appui et cela va créer une exception try catch pour moi.
‫Alors maintenant, ce que je veux faire, c'est essayer ce code et s'il ne fonctionne pas, je ne veux pas que mon programme
‫plante.
‫Et c'est de cela qu'il s'agit dans toute cette histoire de tri.
‫Ainsi, toute erreur de code d'erreur au sens de code d'erreur d'exécution sera tentée de s'exécuter.
‫Et si cela ne fonctionnait pas, alors le hic.
‫Le bloc sera exécuté, donc tout ce qui se trouve dans ce corps ou entre les accolades ici va être
‫exécuté.
‫Alors maintenant, nous n'avons plus qu'à jeter ici.
‫Alors débarrassons-nous du lancer car il lance toujours Yero.
‫Maintenant, écrivons quelque chose dans la console si une erreur se produit.
‫Nous disons donc quelque chose comme
‫exception formate, veuillez entrer le type correct la prochaine fois.
‫Et c'est quelque chose que nous savons ce qu'est un type.
‫Un utilisateur général ne le saurait pas.
‫Donc, ici, vous écririez quelque chose comme, s'il vous plaît, n'entrez pas de lettres, mais seulement des chiffres ou quelque chose comme
‫ça.
‫Jetons donc un coup d'œil.
‫Ici encore, exécutons à nouveau une erreur dans une erreur.
‫Et puis nous obtenons simplement cette information à partir d'une exception.
‫Veuillez saisir le type correct la prochaine fois.
‫Et notre programme n'a pas planté, nous n'avons donc pas rencontré cette exception dans le sens de notre programme ou de notre IEP nous
‫disant, hé, il y a quelque chose qui ne va pas et vous devriez bien gérer votre code.
‫Droit.
‫C'est donc généralement ainsi que la structure est.
‫Vous avez un essai, vous essayez donc du code ici qui pourrait rencontrer des erreurs, qui peut avoir une exception,
‫puis vous avez un bloc catch qui est exécuté chaque fois que cela n'a pas fonctionné.
‫Ainsi, chaque fois qu'il y a eu une erreur, ce bloc catch va être exécuté.
‫Ce que nous avons ici est une capture avec une exception.
‫Une exception est une erreur très générique.
‫Il peut donc s'agir de n'importe quel type d'exception.
‫Mais si nous rencontrons réellement cette erreur, alors débarrassons-nous de ce code, nous verrons quel type d'exception nous avons
‫créé.
‫Je vais donc simplement entrer quelque chose comme la chaîne que j'entre.
‫Et en fait, rien ne se passe parce qu'on ne lance pas.
‫Alors arrêtons cela, lançons, comme nous l'avons vu plus tôt, lancez simplement le haut et nous recommencerons.
‫J'entre juste quelque chose ici, et c'est une exception de formate système.
‫Nous avons donc des informations un peu plus précises sur l'exception réelle.
‫Alors maintenant, nous savons, OK, c'est une exception au formate.
‫Nous devrions donc utiliser l'exception formate ici au lieu d'exception.
‫OK, donc beaucoup d'exceptions ici, mais ce que nous utilisons ici est une exception de format.
‫Comme vous pouvez le voir ici, il existe une classe appelée system qui forme une exception et l'exception qui
‫est levée lorsque le format d'un argument n'est pas valide ou lorsqu'une chaîne de format composite n'est pas bien formée.
‫Et c'est exactement ce que nous avons ici.
‫Alors débarrassons-nous de ceci et soyons d'accord avec cela.
‫Alors maintenant, tombons sur une erreur différente.
‫Créons maintenant un nombre très long, quelque chose qui ne peut pas tenir dans une chaîne, car comme vous pouvez le deviner,
‫ou comme vous vous en souvenez peut-être, une chaîne n'a qu'une quantité d'espace spécifique.
‫Disons donc que je ne sais pas combien de nombres font cela, mais disons que seul ce nombre de nombres
‫peut être stocké dans un entier.
‫Donc tout ça ici ne va pas marcher parce que c'est un débordement.
‫C'est donc trop d'informations pour une chaîne à gérer.
‫Donc, si j'entre ceci maintenant.
‫Je reçois une exception de débordement du système d'entrée, alors nous y sommes, la réception de débordement du système.
‫Eh bien, vous étiez soit trop grand, soit trop petit pour 30 ans aussi, n'est-ce pas ?
‫C'est ce que j'ai dit.
‫Et maintenant, nous devons également intercepter cette exception.
‫Il y a donc deux manières de gérer cela.
‫Donc, soit nous utilisons une exception différente ici et nous utilisons simplement exception.
‫Nous ne traitons donc que toutes les autres exceptions de manière générique et nous disons simplement consulter
‫la
‫ligne claire, exception générale.
‫Quelque chose s'est mal passé, par exemple, alors créons un très long non, en fait, encore une fois comme ceci et entrons
‫cela et nous voyons que nous avons une exception générale, même si c'est une exception de débordement.
‫Vous pouvez donc gérer cela de cette façon.
‫Donc, si vous ne connaissez pas tous les différents types d'exceptions que vous
‫avez là-bas ou si vous ne voulez pas les intercepter toutes individuellement, vous pouvez procéder de cette façon ou vous pouvez être aussi précis et simplement
‫et à droite une exception de débordement.
‫Alors maintenant, cela va fonctionner et vous voyez un système, l'exception de débordement.
‫Exécutons cela à nouveau et s'il vous plaît entrez un nombre et créons un très long nombre ici.
‫Et nous obtenons toujours l'exception générale car nous n'avons pas entré d'exception de débordement de texte différente.
‫Le nombre était trop long ou trop court pour et dans 30 to.
‫Jetons donc un coup d'œil à nouveau et oublions que le numéro de section était trop long ou trop court pour un trente-deux.
‫D'accord.
‫C'est donc ainsi que nous pouvons généralement intercepter les exceptions.
‫Et s'il y a d'autres exceptions qui peuvent s'exécuter.
‫Comme vous pouvez le voir, il y a un argument, pas d'exception.
‫Voyons donc ce que cela signifie, si nous pouvons même obtenir cela.
‫Et on voit.
‫Exception formelle, veuillez saisir le type d'heure correct la prochaine fois, donc même s'il est vide dans
‫notre cas, nous n'obtenons pas cette exception nulle car notre entrée, même si nous ne saisissons rien, a toujours
‫une chaîne vide, qui est non nulle.
‫Nous ne nous heurtons donc pas à cette véritable exception dans cette loi.
‫Donc, comme vous le voyez ici, chaque fois que vous essayez d'exécuter une intelligence de code, même en vous donnant des informations
‫ici, c'est vraiment utile.
‫Vous pouvez voir qu'il y a l'argument, pas l'exception, l'exception formelle et l'exception de débordement.
‫Nous pourrions donc même ajouter une autre exception ici et appeler cet argument n'est pas une exception ou une exception null
‫d'argument.
‫Et nous disons quelque chose comme argument null exception.
‫La valeur était vide maintenant.
‫Donc, même pour entrer dans ce domaine, nous devrons utiliser nullable, que nous n'avons pas encore couvert.
‫Mais nous le ferons plus tard.
‫Et si nous les avons, vous pouvez essayer de le faire.
‫Donc, si vous avez déjà vu la vidéo, vous pouvez essayer de rencontrer cette erreur.
‫D'accord.
‫Alors maintenant, vous avez vu comment utiliser, essayer et attraper.
‫Et maintenant, il y a encore une chose que j'aimerais vous montrer dans cette vidéo, qui se fait enfin et
‫finalement comme ça.
‫Donc, vous aviez l'habitude de mettre un mot-clé finalement, puis vous utilisez à nouveau des accolades et dans ce bloc de code ici.
‫Ainsi, dans ce corps, vous entrez le code qui doit être exécuté chaque fois que les tentatives et les captures sont effectuées.
‫Donc peu importe si l'erreur a été exécutée ou si l'erreur n'a pas fonctionné, il n'y a pas eu d'erreur.
‫Cela sera finalement encore appelé.
‫Donc, cela s'appelle de toute façon.
‫Cela signifie donc que c'est.
‫Eh bien, nous verrons dans une seconde.
‫Alors tombons sur une erreur et nous voyons la forme d'onde et les exceptions, puis nous voyons que cela s'appelle de
‫toute façon et c'est notre dernier bloc.
‫Et l'idée derrière ce bloc final est, par exemple, que si vous essayez de démarrer une connexion Internet ou
‫si vous essayez d'écrire dans un fichier, il peut éventuellement se produire une erreur.
‫Supposons donc que la connexion Internet soit interrompue ou que vous n'ayez pas
‫accès à un fichier dans lequel vous souhaitez écrire ou à d'autres exceptions pouvant survenir et que vous souhaitiez fermer la connexion ou le fichier de toute façon.
‫Donc vous avez ouvert le fichier et maintenant vous essayez d'écrire dans ce fichier et après avoir écrit dans ce fichier pour essayer de le
‫bloquer et peut-être que cela a fonctionné, peut-être que cela n'a pas fonctionné.
‫Mais ce que vous voulez absolument faire, c'est fermer à nouveau le fichier ou essayer de télécharger quelque chose
‫sur Internet.
‫Et si cela a fonctionné ou si cela n'a pas fonctionné, cela n'a pas d'importance.
‫Vous devez ensuite fermer la connexion à Internet.
‫Et c'est quelque chose que vous feriez dans le dernier bloc.
‫Et c'est très pratique et très important lorsque vous travaillez avec des types d'entrée ou de sortie.
‫Oui, mais généralement avec des connexions à Internet, Bluetooth ou autre.
‫Donc, comme vous le voyez, il y a beaucoup à savoir sur l'essai d'attraper, mais les choses les plus importantes que vous avez déjà
‫vues.
‫Alors maintenant, vous savez comment utiliser try, vous savez comment utiliser catch, comment trouver des exceptions.
‫Dans certains cas, ce n'est pas si évident.
‫Ainsi, dans certains cas, vous ne vérifierez pas le type d'exceptions pouvant être exécutées.
‫Mais si vous rencontrez une exception dans votre code, vous savez alors de quel type d'exception il s'agit.
‫Eh bien, l'idée est que Microsoft Visual Studio vous dise de quelle exception il s'agissait.
‫Et puis vous devriez absolument essayer d'attraper cette exception ou simplement utiliser un type d'exception général okeydokey.
‫Alors maintenant, un petit défi pour vous, car il doit toujours y avoir un petit défi,
‫sinon vous pourriez vous ennuyer un peu ou vous pourriez devenir un peu paresseux.
‫Il est très important que vous essayiez également de taper le code et que vous le vérifiiez par vous-même.
‫Alors les petits défis, s'il vous plaît allez-y et divisez par zéro.
‫Alors c'est simple.
‫Essayez simplement de diviser par zéro et utilisez deux variables pour cela.
‫Très bien, allons-y et essayons juste ça, donc je vais essayer de diviser par zéro.
‫Je vais utiliser deux nombres entiers et personne ne sera cinq et aucun deux ne sera zéro.
‫Et maintenant je vais utiliser un résultat.
‫Le résultat final sera saisi ici.
‫Le résultat est égal au numéro un, divisé par le numéro deux.
‫Ce n'est pas.
‫Essayons cela sans try and catch en fait avant d'utiliser try and catch.
‫Alors exécutons-le.
‫Veuillez entrer un nombre, puis diviser par zéro exception, et j'espère que vous gérerez cela.
‫Alors maintenant, ajoutons un essai et une capture.
‫Alors essayez ou facilitez simplement les choses et essayez ici et utilisez le bloc double tap.
‫Et maintenant, dans l'essai, je veux l'exécuter.
‫Et si ça ne marche pas, je veux simplement écrire quelque chose comme citable.
‫Vous ne pouvez pas diviser par zéro.
‫Et maintenant, l'exception que nous venons d'avoir était donc regardez.
‫Divisez par zéro, essayez de diviser par zéro, et cela s'appelle diviser par zéro exception.
‫Donc si vous voulez le trouver, vous pouvez le trouver ici.
‫Donc je vais juste utiliser exactement ça.
‫Je vais remplacer exception par diviser par zéro exception.
‫Alors maintenant, exécutons à nouveau ce code.
‫Veuillez entrer le nombre d'avant, puis il est dit que vous pouvez diviser par zéro.
‫Droit.
‫J'espère donc que vous avez essayé cela et j'espère que vous y parviendrez et que vous pouvez maintenant voir comment vous pouvez créer votre propre essai et
‫rattraper son retard.
‫Et dans la prochaine vidéo, nous allons continuer et utiliser des trucs plus sophistiqués.
‫Alors rendez-vous là-bas.