A.4 Built-in Exceptions 

In diesem Abschnitt des Anhangs finden Sie eine Auflistung aller in Python eingebauten Exception-Typen. Die kurze Beschreibung erläutert, in welchen Fällen der jeweilige Exception-Typ auftritt, und gibt somit eine Art Richtlinie, wann Sie einen der eingebauten Exception-Typen in Ihren Programmen verwenden sollten.
Abbildung 13.1 stellt die vollständige Vererbungshierarchie für die eingebauten Exception-Typen dar.
Beachten Sie, dass Sie eigene Exception-Typen von der Basisklasse Exception ableiten sollten. Selbstverständlich können Sie auch direkt von einer der eingebauten Exceptions erben, die ihrerseits von Exception erben.
Zunächst sehen Sie eine Tabelle mit allen Basisklassen, von denen verschiedene eingebaute Exceptions erben.
| Exception | Erklärung |
|
BaseException |
Die Basisklasse aller eingebauten Exceptions. Diese Klasse stellt einen Großteil der Exception-Funktionalität bereit und wird in Abschnitt 13.1.1 behandelt. |
|
Exception |
Die Basisklasse aller »normalen« Exceptions. Spezielle Exceptions wie SystemExit oder KeyboardInterrupt erben nicht von Exception. Beachten Sie, dass alle selbst definierten Exception-Typen von Exception erben sollten. |
|
StandardError |
Die Basisklasse aller Exception-Typen, die einen Fehler repräsentieren |
|
ArithmeticError |
Die Basisklasse aller Exception-Typen, die einen Fehler in einer arithmetischen Operation repräsentieren |
|
LookupError |
Die Basisklasse aller Exceptions, die auftreten, wenn auf einen nicht vorhandenen Schlüssel oder Index zugegriffen wird |
|
EnvironmentError |
Die Basisklasse aller Exception-Typen, die auftreten, wenn ein Fehler außerhalb des Python-Systems passiert – beispielsweise wenn eine Dateioperation fehlschlägt. Das Attribut args der Exception-Instanz referenziert ein Tupel, das Fehlercode und -beschreibung enthält. |
Die folgende Tabelle listet alle eingebauten Exception-Typen auf, die von den vorherigen Typen erben und tatsächlich geworfen werden.
| Exception | Erklärung |
|
AssertionError |
Wird geworfen wenn eine assert-Anweisung fehlschlägt. |
|
AttributeError |
Wird geworfen, wenn auf ein nicht existierendes Attribut einer Instanz zugegriffen wird. |
|
EOFError |
Wird geworfen wenn die Funktionen input oder raw_input EOF (end-of-file) signalisiert bekommen, ohne zuvor Daten eingelesen zu haben. |
|
FloatingPointError |
Wird geworfen wenn eine Gleitkommaoperation fehlschlägt. |
|
GeneratorExit |
Wird geworfen wenn die Methode close eines Generators gerufen wird. Diese Exception erbt direkt von Exception statt von StandardError. |
|
IOError |
Wird geworfen wenn eine I/O-Operation, wie beispielsweise eine Bildschirmaus- oder -eingabe fehlschlägt. |
|
ImportError |
Wird geworfen wenn eine import-Anweisung das angegebene Modul nicht finden kann oder der angegebene Name bei einer from/import-Anweisung nicht im Modul enthalten ist. |
|
IndexError |
Wird geworfen wenn mit einem Index auf eine Sequenz zugegriffen wird, der außerhalb des gültigen Bereichs liegt. |
|
KeyError |
Wird geworfen wenn mit einem Schlüssel auf ein Dictionary zugegriffen wird, der nicht in diesem vorhanden ist. |
|
KeyboardInterrupt |
Wird geworfen wenn das Python-Programm per Tastenkombination (üblicherweise mit
|
|
MemoryError |
Wird geworfen wenn nicht mehr genügend Speicher zur Ausführung einer Operation vorhanden ist. |
|
NameError |
Wird aufgerufen, wenn ein unbekannter lokaler oder globaler Bezeichner verwendet wird. |
|
NotImplementedError |
Basisklassen werfen diese Exception aus Methoden heraus, die von einer abgeleiteten Klasse überschrieben werden müssen. |
|
OSError |
Diese Exception wird vom Modul os geworfen und erbt von EnvironmentError. |
|
OverflowError |
Wird geworfen wenn das Ergebnis einer arithmetischen Operation zu groß für den entsprechenden Datentyp ist. |
|
RuntimeError |
Wird geworfen wenn ein Fehler aufgetreten ist, der durch keinen der anderen Exception-Typen ausgedrückt wird. Das Attribut args enthält die genaue Fehlermeldung. |
|
StopIteration |
Wird von der Methode next eines Iterators geworfen, wenn kein nächstes Element existiert. Diese Exception erbt direkt von Exception statt von StandardError. |
|
SyntaxError |
Wird geworfen wenn ein Syntaxfehler in einem Python-Programm, einer exec-Anweisung oder einem Aufruf von eval auftritt. Die Attribute filename, lineno, offset und text spezifizieren den Fehler genauer. |
|
SystemError |
Wird geworfen wenn ein interner Fehler im Python-Interpreter auftritt. |
|
SystemExit |
Wird von sys.exit geworfen und beendet das laufende Programm, wenn sie nicht abgefangen wird. Eine nicht abgefangene SystemExit-Exception verursacht keinen Traceback. Die Exception erbt direkt von BaseException, sodass sie nicht versehentlich abgefangen werden kann. |
|
TypeError |
Wird geworfen wenn eine Operation auf einer Instanz durchgeführt wird, die einen dafür unpassenden Datentyp hat. |
|
UnboundLocalError |
Wird geworfen wenn in einer Funktion oder Methode eine lokale Referenz bereits verwendet wird, bevor ihr eine Instanz zugewiesen wurde. |
|
UnicodeError |
Wird geworfen wenn bei Encode- und Decode-Vorgängen im Zusammenhang mit Unicode Fehler auftreten. |
|
UnicodeEncodeError |
Wird geworfen wenn ein Unicode-spezifischer Fehler bei einem Encode-Vorgang auftritt. Diese Exception erbt von UnicodeError. |
|
UnicodeDecodeError |
Wird geworfen wenn ein Unicode-spezifischer Fehler bei einem Decode-Vorgang auftritt. Diese Exception erbt von UnicodeError. |
|
UnicodeTranslateError |
Wird geworfen wenn ein Unicode-spezifischer Fehler bei einem Translate-Vorgang auftritt. Diese Exception erbt von UnicodeError. |
|
ValueError |
Wird geworfen wenn eine Operation auf einer Instanz durchgeführt werden soll, die zwar den richtigen Typ, aber einen unpassenden Wert hat. |
|
WindowsError |
Wird geworfen wenn ein Windows-spezifischer Fehler auftritt. Diese Exception erbt von OSError. |
|
ZeroDivisionError |
Wird bei einer Division durch null geworfen. |
Die folgende Tabelle listet alle eingebauten Warnungen auf. Das sind spezielle Exceptions, die beispielsweise auf die Verwendung eines veralteten Funktionsparameters hindeuten. Das Auftreten von Warnungen behindert die Ausführung des Programms nicht.
| Exception | Erklärung |
|
Warning |
Basisklasse für alle Warnungen |
|
UserWarning |
Basisklasse für eigene Warnungen |
|
DeprecationWarning |
Wird bei der Verwendung eines als veraltet eingestuften Sprachfeatures geworfen. |
|
PendingDeprecationWarning |
Wird bei der Verwendung eines als zukünftig veraltet eingestuften Sprachfeatures geworfen. |
|
SyntaxWarning |
Wird bei problematischer Syntax geworfen. |
|
RuntimeWarning |
Wird bei bedenklichem Laufzeitverhalten geworfen. |
|
FutureWarning |
Wird bei der Verwendung von Sprachfeatures geworfen, die sich in Zukunft verändern werden. |
|
ImportWarning |
Wird bei problematischen import-Anweisungen geworfen. |
|
UnicodeWarning |
Wird bei Unicode-spezifischen Problemen geworfen. |




bestellen





