0% ont trouvé ce document utile (0 vote)
23 vues12 pages

Exceptions

Le document explique comment gérer les erreurs et exceptions en Python, en présentant des exemples de code et des mécanismes tels que les blocs try/except. Il aborde également la nécessité de gérer les exceptions pour éviter d'interrompre le programme et décrit comment soulever des exceptions personnalisées. Enfin, il liste des exceptions courantes rencontrées lors de la programmation en Python.

Transféré par

asdepique24
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues12 pages

Exceptions

Le document explique comment gérer les erreurs et exceptions en Python, en présentant des exemples de code et des mécanismes tels que les blocs try/except. Il aborde également la nécessité de gérer les exceptions pour éviter d'interrompre le programme et décrit comment soulever des exceptions personnalisées. Enfin, il liste des exceptions courantes rencontrées lors de la programmation en Python.

Transféré par

asdepique24
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les exceptions

Comment gérer les erreurs en Python ?

Division des enseignements en informatique


Rappel : les erreurs

Prenons un fichier contenant le code python suivant :


def une_fonction ( a ) :
return 1 / a

def un e_ au tre _f onction () :


une_fonction (0)

une_ au tr e_ fo nc tion ()

2
Rappel : les erreurs

L’exécution de ce scripte provoque l’erreur suivante :


Traceback ( most recent call last ) :
File " script . py " , line 7 , in < module >
un e_ au tr e_ fonction ()
File " script . py " , line 5 , in une_autre_fonction
une_fonction (0)
File " script . py " , line 2 , in une_fonction
return 1 / a
Zero Divisi onError : division by zero

Comment lire les erreurs


Un message d’erreur se lit de bas en haut ! Ainsi on peut
remonter la pile des appels.

3
Erreurs et exceptions

Sous l’erreur ci dessus, se cache en réalité une exception de type


ZeroDivisionError.

Qu’est ce qu’une exception ?


Mécanisme pour gérer des erreurs survenues lors de l’exécution
d’un programme.

4
Gestion des exceptions

Pourquoi faut-il gérer certaines exceptions ?

• Apporter une solution à un problème bloquant


• Éviter d’interrompre le programme

Il existe d’autres solutions, mais c’est la manière de faire en


Python :
def une_fonction ( a ) :
# Gestion de l ’ erreur en amont
if a == 0:
print ( " Division par 0 impossible ! " )
return None
else :
return 1 / a

5
Soulever une exception

Des exceptions sont automatiquement levées par les fonctions


built-in de python, cependant, il est possible de lever ses propres
exception à l’aide du mot-clef raise.
def ma_fonction ( age ) :
if age < 0:
raise ValueError ( " ’ age ’ doit etre positif
!")
# suite de la fonction

>>> ma_fonction ( -2)


Traceback ( most recent call last ) :
File " < interactive input > " , line 1 , in < module >
File " < interactive input > " , line 3 , in
ma_fonction
ValueError : ’ age ’ doit etre positif !

6
Traiter une exception

On utilise la combinaison de mots-clef try/except pour créer des


blocs d’instructions, où les instructions pouvant mener à une
erreur, pourront être gérées.
try :
# ce qui peut produire une exception
except NomException :
# ce qu ’ il faut faire si l ’ exception se d é
clanche

7
Traiter une exception

On utilise la combinaison de mots-clef try/except pour créer des


bloques d’instructions où les instructions pourront être gérées.
Exemple :
liste = [ ’ toto ’ , ’ titi ’ , ’ tata ’ ...]
i = int ( input () )
try :
choix = liste [10 // i ]
except Zer oDivisionError :
print ( " Division par zero impossible " )
choix = liste [0]
except IndexError :
print ( " Probleme d ’ index " )
choix = liste [ len ( liste ) ]

8
Traiter une exception

Mots-clef finally et else :


try :
# ce qui peut produire une exception
except NomException :
# ce qu ’ il faut faire si l ’ exception se d é
clenche
else :
# ce qu ’ il faut faire si aucune exception n ’a
é t é lev é e
finally :
# ce qui sera ex é cut é dans tous les cas

9
Traiter une exception

Mots-clef finally et else :


Exemple :
try :
f = open ( ’ fichier . txt ’ , ’w ’)
# é criture dans le fichier
except IOError :
print ( " Probleme lors de l ’é criture du fichier
")
else :
print ( " Ecriture OK " )
finally :
f . close ()

10
Cas des fichiers

Astuce contre les oublis de fermeture, le mot-clef with :


try :
with open ( ’ fichier . txt ’ , ’w ’) as f :
# é criture dans le fichier
except ( IOError , FileNotFoundError ) :
# g é rer l ’ erreur

11
Exceptions fréquentes

• NameError : variable ou fonction manipulée non déclarée


• TypeError : type de la variable incohérent avec l’opération
demandée
• ValueError : le type est correct, mais pas la valeur
• ZeroDivisionError : division par zéro
• IndexError / KeyError : tentative d’accès à une
séquence/dictionnaire avec un indice/clé inexistant
• FileNotFoundError : le fichier n’existe pas
• IOError : erreur lors de la manipulation d’un fichier
• SyntaxError : erreur de syntaxe (indentation, parenthèse...)

12

Vous aimerez peut-être aussi