La gestion des exceptions

Gestion des exception

Même si une instruction ou une expression est syntaxiquement correcte, elle peut générer une erreur lors de son exécution. Les erreurs détectées durant l’exécution sont appelées des exceptions.

Pour gérer les exceptions on utilise les clauses : Try , Except , raise, else, finily comme suite:

try:
    Bloc d'instructions 1 
except  TypeException_1:
    Bloc d'instructions 2
except  TypeException_2:
    Bloc d'instructions 3
except:
    Boc d'instructions 4
else:
    Boc d'instructions 5
finally:
    Boc d'instructions 6
  • La clase try: Le premier bloc d’instructions qui sera exécuté est le bloc 1
  • La clause except TypeException_1 (facultatif): Si une erreur (exception) est rencontrée de type TypeException_1 le bloc d’instructions 2 sera exécuté et le reste du bloc 1 (à partir la rencontre de l’exception jusqu’à la fin du bloc 1) sera ignoré.
  • La clause except TypeException_2 (facultatif): de même si l’exception de type TypeException_2 est rencontrée.
  • La clause except : Si une autre exception est rencontrée (autre que TypeException_1 ou TypeException_2) le bloc d’instructions 4 sera exécuté et le reste du bloc 1 (à partir la rencontre de l’exception jusqu’à la fin du bloc 1) sera ignoré.
  • La clasue else (facultatif): si aucune exception n’est levée, le bloc d’instruction 5 sera exécuté.
  • La clasue finally(facultatif): Le bloc d’instruction 6 sera exécuté dans tous les cas, soit le programme a rencontré une exception ou non.

nous apprendrons à l’aide des exercices corrigés comment traiter les exception dans vos programmes.

Exercice 1: La clause try et except

Programme Python qui demande à l’utilisateur de saisir un entier et d’afficher l’inverse de cet entier.

Le programme affiche un message d’erreur pour n’importe quelle exception rencontrée.

Exemple d’exécution 1:

Entrer un entier : 3
L’inverse de 3 est 0.33

Exemple d’exécution 2:

Entrer un entier : 0
Erreur rencontrée


Exercice 2: Cibler l’exception

Programme Python qui demande à l’utilisateur de saisir un entier et d’afficher l’inverse de cet entier.

Le programme lève l’exception ZeroDivisionError si l’utilisateur a saisi un zéro. et il affiche un message d’erreur pour n’importe quelle autre exception rencontrée

Exemple d’exécution 1:

Entrer un entier : 3
L’inverse de 3 est 0.33

Exemple d’exécution 2:

Entrer un entier : 0
Zéro n’admet pas d’inverse

Exemple d’exécution 3:

Entrer un entier : az
Erreur rencontrée


Exercice 3: La clause else

Programme Python qui demande à l’utilisateur de saisir un entier et d’afficher l’inverse de cet entier. Le programme redemande la saisie chaque fois que l’entier n’été pas saisi correctement.

Le programme lève l’exception ZeroDivisionError si l’utilisateur a saisi un zéro. et il affiche un message d’erreur pour n’importe quelle autre exception rencontrée

Exemple d’exécution:

Entrer un entier :0
Zéro n'admet pas d'inverse, Veuillez saisir un autre
Entrer un entier :az
Erreur rencontrée, Veuillez saisir un autre
Entrer un entier :3
L'inverse de 3 est 0.33

Exercice 4 : La clause raise

Programme Python qui demande à l’utilisateur cinq notes puis il affiche la moyenne de ces notes.

  • Si la note saisie n’est pas un réel compris entre 0 et 20 l’exception ValueError sera levée.
  • Le programme affiche un message d’erreur pour n’importe quelle autre exception rencontrée

Exemple d’exécution 1:
Entrer la note 1: 25
Note non valide, la note doit être un réel entre 0 et 20

Exemple d’exécution 2:
Entrer la note 1: 12
Entrer la note 2: 13
Entrer la note 3: 15
Entrer la note 4: 14
Entrer la note 5: 16
la moyenne est 14.00


Exercice 5: La clause finally

Même exercice que l’exercice 2, Mais cette fois ci, le programme affiche “Au revoir” dans tous les cas soit en rencontrant une exception ou non.

Exemple d’exécution 1:

Entrer un entier : 3
L’inverse de 3 est 0.33
Au revoir

Exemple d’exécution 2:

Entrer un entier : 0
Zéro n’admet pas d’inverse
Au revoir

Exemple d’exécution 3:

Entrer un entier : az
Erreur rencontrée
Au revoir


Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Résoudre : *
20 ⁄ 10 =