Le Coin Wiki
d'Olivier Dalle
$WikiTagline
 

Exercice 2: Exceptions

A rendre : le code des questions 1 et 2

Les exceptions en Python sont gres 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:

nomFichier = raw_input("Entrez un nom de fichier : ")
try:
    f = open(nomFichier, "r")
except:
    print "Le fichier", nomFichier, "est inaccessible."
else:
    print "L'ouverture s'est bien passe!"

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:

def produitCartesien(seq1, seq2):
    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.

Retour en haut de la feuille d’exercice