Ressources
Programmation défensive
- Vérification du type de données avec isinstance(valeur, type):
Cette fonction vérifie que valeur est du type "type", elle renvoie True si c'est le cas et False dans le cas contraire.
Exemples:
L = [1,2,3]
nombre = 'a'
if isinstance( L, list ) :
ici le "if" est évalué True parce que isinstance( L, list ) renvoie True ( L est bien du type list )
if isinstance( L, list ) and isinstance(nombre, int):
isinstance( L, list ) renvoie True
isinstance(nombre, int) renvoie False # 'a' n'est pas un type int c'est un str
True and False vaut False, le if est donc False
- Gestion d'exception
Une exception est l'arrêt du déroulement du programme suite à une erreur détecté. L'interpréteur de python gère les exceptions, on peut les gérer nous même afin de personnaliser l'action à conduire en cas d'exception. Ci dessous le code qui gère les exceptions de manière globale ( toutes les exceptions sont prises en compte) avec un bloc try except:
try:
# ici un code à risque: que va saisir l'utilisateur?
nombre = int( input( "entrez votre nombre de notes:") )
except:
print("veuillez entrer un type de données valide")
L'exception se déclenchera une exception ValueError si l'utilisateur ne communique pas à la fonction input() un caractère convertible en integer par la fonction int(...)
exemple: nombre = int( input( "entrez votre nombre de notes:") ) # je saisis a
ValueError: invalid literal for int() with base 10: 'a'
Ci-dessous le code gère uniquement l'exception ValueError:
try:
# ici un code à risque: que va saisir l'utilisateur?
nombre = int( input( "entrez votre nombre de notes:") )
except ValueError:
print("veuillez entrer un type de données valide")
Créé avec HelpNDoc Personal Edition: Créer des documents d'aide CHM facilement