17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Structuration du code<br />

CHAPITRE 5<br />

La deuxième couche représente soit des classes qui dérivent d’une des classes de<br />

base et qui sont utilisables, soit des classes concrètes.<br />

À RETENIR Différence entre classes d’exception abstraites et concrètes<br />

Cette distinction entre classes d’exception abstraites et concrètes est purement symbolique et il reste<br />

techniquement tout à fait possible de lever des exceptions avec les classes de base.<br />

Classes d’exceptions de base<br />

Exception<br />

Exception est la classe de base de toutes les exceptions. Son constructeur peut être<br />

appelé avec un ou plusieurs paramètres libres qui sont conservés dans l’attribut args.<br />

Lorsque l’exception est levée, l’interpréteur affiche le type d’exception, suivi de la<br />

chaîne de caractères obtenue par str(exception), soit un appel à<br />

exception.__str__(). La méthode __str__() de la classe Exception renvoie une<br />

chaîne de caractères représentant args.<br />

StandardError<br />

Dérivée d’Exception, StandardError est la classe de base pour la quasi-totalité des<br />

classes d’exceptions.<br />

ArithmeticError<br />

Dérivée de StandardError, ArithmeticError est la classe de base pour les exceptions<br />

relatives aux erreurs arithmétiques, soit la division par zéro (ZeroDivisionError), un<br />

dépassement de capacité (OverflowError), une erreur de calcul en virgule flottante<br />

(FloatingPointError).<br />

LookupError<br />

Dérivée de StandardError, LookupError est la classe de base pour les exceptions<br />

relatives aux erreurs d’index ou de clé, lorsqu’un appel à une clé inexistante est faite<br />

sur un mapping ou sur un index hors limite sur une séquence.<br />

EnvironmentError<br />

Dérivée de StandardError, EnvironmentError est la classe de base pour les erreurs<br />

système, comme des erreurs de lecture ou d’écriture (IOError) ou des erreurs provoquées<br />

lors d’appels à des API système (OSError).<br />

Le système d’exploitation possède une liste d’erreurs standardisée, représentée par<br />

des entiers que l’on peut retrouver dans le module errno. Lorsqu’un programme<br />

provoque une erreur système, il peut lever une exception EnvironmentError cons-<br />

141

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

Saved successfully!

Ooh no, something went wrong!