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.

UnboundLocalError<br />

Les primitives<br />

CHAPITRE 6<br />

Provoquée lorsqu’une référence à une variable est faite sans qu’aucune valeur ne lui ait<br />

été précédemment attribuée. Cette erreur est provoquée lorsque l’interpréteur trouve<br />

dans le contexte d’exécution de la variable une initialisation de sa valeur après son utilisation.<br />

Si l’interpréteur ne trouve aucune initialisation, une erreur NameError est levée.<br />

Initialisation tardive<br />

>>> def fonction():<br />

... print y<br />

... y = 1<br />

...<br />

>>> fonction()<br />

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

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

File "", line 2, in fonction<br />

UnboundLocalError: local variable 'y' referenced before assignment<br />

UnicodeEncodeError<br />

Introduite dans la version 2.3 comme classe dérivée de UnicodeError, permet de préciser<br />

lorsqu’une erreur de conversion d’unicode est provoquée, c’est-à-dire qu’il s’agit<br />

d’un problème de conversion d’unicode vers string.<br />

Erreur d’encodage<br />

>>> u'\u0200'.encode()<br />

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

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

UnicodeEncodeError: 'ascii' codec can't encode character u'\u0200' in<br />

position 0: ordinal not in range(128)<br />

UnicodeDecodeError<br />

Équivalente à UnicodeEncodeError, mais pour les problèmes de conversions de<br />

string vers unicode.<br />

Erreur de décodage<br />

>>> '\xff'.decode()<br />

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

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

UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0:<br />

ordinal not in range(128)<br />

193

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

Saved successfully!

Ooh no, something went wrong!