Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Java pour les développeurs Android

Comprendre le fonctionnement des exceptions

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez les principes et le fonctionnement des exceptions. Ainsi, vous serez en mesure de gérer les erreurs en Java.
05:51

Transcription

Dans cette vidéo, je vais vous parler des exceptions en Java. Lorsqu'on va réaliser un appel au Web, il peut échouer et cela génèrera des exceptions et ces exceptions, il faut les gérer. Comment fonctionnent les exceptions ? Pour vous montrer un exemple, je vais partir d'une méthode classique qui va retourner un String et qui va prendre un paramètre. Dans mon contexte, si le paramètre est inférieur à zéro, je me retrouve dans un cas incorrect. Comment puis-je gérer ça ? Avec un If param inférieur à zéro else donc dans le cas inférieur à zéro, je suis obligé de retourner quelque chose, je peux retourner le String Erreur, je peux retourner Null et, ici, je peux retourner Ok plus Param. Cela va imposer à la méthode qui va appeler Test de vérifier la valeur de retour avant de pouvoir exploiter son résultat. Mais admettons que Test ne retourne rien et se contente de faire des Actions. Ici, je peux faire un Return sans rien, cela ne pose pas de problème et maintenant comment vérifier que mes actions ont bien eu lieu ? Il n'y a plus de valeur de retour. On pourrait mettre une valeur de retour spécifique à cela. Il existe une autre façon de faire que sont justement les exceptions. Dans ce cas, on va pouvoir, au lieu de faire un Return, faire un Throw qui est le mot-clé qui va avec les exceptions. On va créer un nouvel objet Exception et, en paramètres de l'objet Exception, passer notre message d'erreur. Par exemple, ici, param inférieur à zéro et passer sa valeur. Ce qui nous permettra lorsque l'exception sera déclenchée, de récupérer cette String-là, en analyser le résultat et comprendre pourquoi cette erreur a été produite. Ici, j'ai un message d'erreur. Si je laisse mon curseur dessus, il m'explique que je n'ai pas géré mon Exception. Si on déclenche une Exception, il faut la gérer à un moment ou à un autre. Il y a deux façons de gérer les exceptions. La première consiste à ne pas la gérer mais à prévenir qu'on peut en retourner une. C'est ce qu'on va faire ici. Je vais faire Alt + Entrée sur Exception et il me propose mes deux méthodes. Nous allons commencer par la première : Add exception to method signature Ici, je change la signature de ma méthode pour indiquer qu'elle peut retourner une exception. C'est le cas. Si mon paramètre est inférieur à zéro, elle retourne une exception. Au moment où on va appeler la méthode test, quelle que soit la valeur avec laquelle j'appelle, il est possible qu'elle retourne une exception. Il faudra donc, dans tous les cas, gérer cette exception. Ici, toujours deux cas de figures : soit on ajoute Throw Exception ici mais là, problème. Il m'explique que la méthode que l'on surcharge OnCreate n'a pas, dans sa signature, Throw Exception donc nous ne pouvons pas le mettre. C'est le principe de l'héritage : pour surcharger une méthode, il faut respecter sa signature. Le fait qu'elle retourne, ou non, une exception fait partie de la signature. Je ne peux donc pas faire cette solution. La deuxième solution est dite le Try Catch. Ici, j'ai un Try Catch et, pour bien l'expliquer, je vais créer des Toasts. Tout ce qui se passe dans le Try peut générer une exception et si cette exception se produit on exécutera ce qui se passe dans le Catch. C'est le principe du Try Catch. Comment cela va se passer ici ? Je vais voir mon premier Toast avec 1 Test va fonctionner normalement. Je vais avoir mon deuxième Toast avec 2 Test 2 va générer une exception comme il génère une exception de type Exception on rentre dans le Catch de mon Exception et, du coup, on arrive directement au Toast numéro 4. On n'affiche pas le Toast numéro 3. e.printStackTrace permet d'afficher mon exception dans la console comme nous l'avons déjà vu avec NullPointerException ou ArrayOutOfBounds exception ça l'affiche dans la console mais mon application ne crashe pas et, ici, je peux continuer d'afficher mon Toast numéro 5. Voilà pour la gestion des exceptions. Il existe un autre mot-clé, le mot-clé Finally. Ici, je vais déplacer mon Toast numéro 5 et créer un Toast numéro 6. L'intérêt du Finally est que l'on passe par le Try ou que l'on passe par le Catch, dans tous les cas, après, on fera le Finally y compris s'il y a un Return dans mon Try. Par exemple, ce morceau de code-là va exécuter le Toast 1, pas d'exception, le Toast 2, le Toast 3, faire un Return, va stocker le Return, faire le Toast 5 car nous sommes dans le Finally et faire le Return. Ici, notre Toast 6 ne sera jamais atteint. Dans ce cas-là, Toast 1 pas d'erreur, Toast 2, une erreur, je ne fais pas le 3 j'arrive dans le Catch je fais le 4 j'affiche mon exception je fais le 5 je fais le 6. Voilà pour le fonctionnement des exceptions.

Java pour les développeurs Android

Prenez en main la syntaxe et les concepts de Java pour vos développements d’applications pour Android. Abordez les variables, les chaînes de caractères, les conditions, etc.

7h01 (65 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :24 avr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !