17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

142<br />

Éléments du langage<br />

DEUXIÈME PARTIE<br />

truite avec le couple (errno, message). L’instance présentera alors deux attributs<br />

errno et strerror, utilisés par __str__().<br />

Levée d’une OSError<br />

>>> import errno<br />

>>> error = OSError(errno.ECONNREFUSED, 'Connection refused')<br />

>>> raise error<br />

Traceback (most recent call last):<br />

File "", line 1, in ?<br />

OSError: [Errno 111] Connection refused<br />

Il est possible enfin d’instancier l’exception avec un troisième paramètre représentant<br />

un nom de fichier. Ce troisième paramètre est souvent utile pour IOError.<br />

UnicodeError<br />

Classe de base pour les erreurs relatives aux conversions entre type unicode et type<br />

string et aux problèmes de traduction de caractères (par appel de translate()).<br />

Une erreur de conversion d’unicode vers string est une erreur d’encodage<br />

(UnicodeEncodeError) et de string vers unicode une erreur de décodage<br />

(UnicodeDecodeError). Cette distinction a été introduite dans la version 2.3.<br />

Warning<br />

Classe de base pour toutes les exceptions de type avertissement.<br />

Classes concrètes<br />

Les classes d’exceptions concrètes sont présentées dans le chapitre suivant.<br />

try..except..else<br />

Lorsqu’une exception est levée, le programme est interrompu et l’interpréteur<br />

remonte en sens inverse toutes les couches de code précédemment traversées, à la<br />

manière d’une bulle d’air qui remonte dans l’eau. Arrivée à la surface, l’exception est<br />

affichée et le programme s’arrête.<br />

Il est cependant possible de stopper cette remontée en interceptant l’erreur, avec la<br />

directive try..except. Tout le code contenu ou appelé dans le bloc délimité par try<br />

est surveillé par l’interpréteur. En cas de levée d’exception, l’exécution du bloc s’arrête<br />

et l’interpréteur exécute le code contenu dans le bloc except avant de continuer le<br />

programme normalement.<br />

Si le code ne lève pas d’exception le programme continue et ignore le bloc contenu<br />

dans except.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!