Python V 2 Tp 3 Exo 2
Exercice 2: Exceptions
A rendre : le code des questions 1 et 2
Les exceptions en Python sont gérées à l’aide d’un bloc try - except - [else]
comme suit:
- try
- le bloc d’instruction susceptible de provoquer une erreur
- except
- que faire en cas d’erreur
- else
- que faire si aucune erreur (bloc facultatif)
Exemple d’utilisation:
try:
f = open(nomFichier, "r")
except:
print "Le fichier", nomFichier, "est inaccessible."
else:
print "L'ouverture s'est bien passée!"
Question 1
Ecrivez une fonction existe(fname)
qui utilise les exceptions pour tester si un fichier existe et retourne vrai ou faux selon le cas.
Question 2
L’instruction raise
permet provoquer explicitement une exception, comme dans l’exemple suivant:
if (not seq1) or (not seq2):
raise ValueError, "Les sequences en parametre ne doivent pas etre vides"
return [(x1, x2) for x1 in seq1 for x2 in seq2]
Expliquez le fonctionnement de ce code et en particulier la ligne de retour. Inspirez-vous en pour écrire une fonction prod_vec_scal(vec,scal) qui calcule le produit d’un vecteur de dimension quelconque par un scalaire.