Exceptions Flashcards
On peut distinguer deux sortes d’erreurs dans les programmes. Quelles sont-elles ?
1, Erreur à la compilation
2. Erreur à l’exécution
Qu’est-ce que le mécanisme d’exceptions ?
- On considère une situation anormale qui conduirait à l’échec du programme
2.On peut détecter cette situation et réagir pour traiter le problème, par exemple : Demander d’entrée une valeur valide, demander de vérifier la connexion internet puis cliquer sur réessayer le téléchargement, avertir que le fichier n’a pas été sauvegardé parce que le disque n’a plus d’espace.
Quelles sont les types d’erreurs d’exécutions (exceptions) les plus courants ?
ArrayIndexOutOfBoundException,NullPointerException,ArithmeticException (division par 0), IOException (erreur d’entrée, sortie) et plusieurs autres
Comment on lance une exception ?
Avec le mot-clé throw
Continue cette phrase : Si l’erreur est rattrapable…
Java possède un mécanisme pour attraper une exception et appliquer une solution au problème : C’est le bloc try… catch
On a donc deux mécanismes en parallèle :
Traitement normal (si tout se passe bien) et traitement d’exception (exception handler)
Quand il y a une exception…
Le traitement normal s’arrête et le traitement d’exception prend le contrôle
Vrai ou Faux : Les exceptions lancées suivent un trajet semblable aux valeurs de retour des fonctions.
Vrai, throw est similaire à return, puisqu’on quitte la fonction actuelle pour retourner à la fonction appelante.
Vrai ou Faux : On peut avoir plusieurs blocs catch spécialisés
Vrai, cela est utile pour les différents types d’exceptions qui pourraient être lancés.
Qu’est-ce que le bloc finally ?
Le bloc finally est optionnel et est exécuté peut-importe si le try… s’exécute correctement ou non
Explique la différence entre checked exception vs unchecked exception
les exceptions sont checkées par le compilateur, pour s’assurer que si une erreur survient, le code est en mesure de la traiter. Dans le cas d’exceptions dues à des erreurs de programmation plutôt qu’à des circonstances anormales, les exceptions qui pourraient être lancés ne sont pas checkées par ex: NullPointerException, IndexOutOfBoundException…