Concrete exceptions¶
The following exceptions are the exceptions that are usually raised.
exceptionAssertionError
¶
Raised when an assert
statement fails.
exceptionAttributeError
¶
Raised when an attribute reference (see Attribute references) orassignment fails. (When an object does not support attribute references orattribute assignments at all, TypeError
is raised.,)
exceptionEOFError
¶ exceptionFloatingPointError
¶
Not currently used.
exceptionGeneratorExit
¶
Raised when a generator or coroutine is closed;see generator.close()
and coroutine.close()
. Itdirectly inherits from BaseException
instead of Exception
sinceit is technically not an error.
exceptionImportError
¶
Raised when the import
statement has troubles trying toload a module., Wird auch ausgelöst, wenn die „from list“ in from ... import
einen Namen hat, der nicht gefunden werden kann.
Die Attribute name
und path
können mit keyword-onlyarguments für den Konstruktor festgelegt werden. Wenn sie gesetzt sind, stellen sie den Namen des zu importierenden Moduls und den Pfad zu einer Datei dar, die die Ausnahme ausgelöst hat.
In Version 3.3 geändert: Die Attribute name
und path
wurden hinzugefügt.,
exceptionModuleNotFoundError
¶
Eine Unterklasse von ImportError
die ausgelöst wird durch import
wenn ein Modul nicht gefunden werden konnte. Es wird auch ausgelöst, wenn None
in sys.modules
gefunden wird.
Neu in version 3.6.
exceptionIndexError
¶
Wird ausgelöst, wenn ein Sequenzindex außerhalb des Bereichs liegt. (Slice-Indizes aresilently abgeschnitten zu fallen, der im zulässigen Bereich liegt; wenn ein index nicht ‚aninteger‘ hinzu, TypeError
ausgelöst wird.,)
exceptionKeyError
¶
wird Ausgelöst, wenn ein mapping (dictionary) – Taste ist nicht gefunden in die Menge der vorhandenen Tasten.
exceptionKeyboardInterrupt
¶
wird Ausgelöst, wenn der Benutzer trifft die interrupt-Taste (normalerweise Strg-C orDelete). Während der Ausführung wird eine Überprüfung auf Interrupts maderegularly. Die Ausnahme erbt von BaseException
, um nicht versehentlich von Code abgefangen zu werden, der Exception
abfängt und somit verhindert, dass der Interpreter beendet wird.,
exceptionMemoryError
¶
Wird ausgelöst, wenn ein Vorgang keinen Speicher mehr hat, die Situation jedoch möglicherweise immer noch eintritt (durch Löschen einiger Objekte). Der zugehörige Wert ist eine Zeichenfolge, die angibt, welcher Art von (interner) Operation der Speicher ausgegangen ist. Beachten Sie, dass dieinterpreter aufgrund der verwirrenden Speicherverwaltungsarchitektur (C ‚ s malloc()
-Funktion) möglicherweise nicht immer in der Lage ist, sich vollständig von dieser Situation zu erholen; Es löst jedoch eine Ausnahme aus, so dass ein Stack-Traceback gedruckt werden kann, falls ein laufendes Programm die Ursache war.,
exceptionNameError
¶
Wird ausgelöst, wenn kein lokaler oder globaler Name gefunden wird. Dies gilt nur fürqualifizierte Namen. Der zugehörige Wert ist eine Fehlermeldung, die den Namen enthält, der nicht gefunden werden konnte.
exceptionNotImplementedError
¶
Diese Ausnahme ist abgeleitet von RuntimeError
. In benutzerdefinierten Baseclasses sollten abstrakte Methoden diese Ausnahme auslösen, wenn sie requirederived Klassen benötigen, um die Methode zu überschreiben, oder während die Klasse entwickelt wird, um anzuzeigen, dass die reale Implementierung noch hinzugefügt werden muss.,
Hinweis
Es sollte nicht verwendet werden, um anzugeben, dass ein Operator oder eine Methode überhaupt nicht unterstützt werden soll – in diesem Fall lassen Sie den Operator/die Methode entweder undefiniert oder, wenn eine Unterklasse, setzen Sie sie auf None
.
Hinweis:
NotImplementedError
und NotImplemented
sind nicht austauschbar,obwohl Sie ähnliche Namen und Zweck. SieheNotImplemented
für Details zur Verwendung.,
exceptionOSError
()¶ exceptionOSError
(errno, strerror]])
Diese Ausnahme wird ausgelöst, wenn eine Systemfunktion einen systembezogenen Fehler zurückgibt, einschließlich E/A-Fehler wie“ Datei nicht gefunden „oder“Festplatte voll“ (nicht für illegale Argumenttypen oder andere zufällige Fehler).
Die zweite Form des Konstruktors setzt die entsprechenden Attribute, wie unten beschrieben. Die Attribute sind standardmäßig None
wenn notspecified., Wenn drei Argumente übergeben werden, enthält das Attribut args
aus Gründen der Abwärtskompatibilität nur ein 2-Tuple der ersten beiden Konstruktorargumente.
Der Konstruktor gibt häufig eine Unterklasse von OSError
zurück, die in den folgenden OS-Ausnahmen beschrieben wird. Die jeweilige Unterklasse hängt davon abdie endgültige errno
Wert. Dieses Verhalten tritt nur auf, wenn OSError
direkt oder über einen Alias konstruiert wird, und wird bei der Unterklasse nicht ausgelöst.,
errno
¶
Ein numerischer Fehlercode aus der C-Variablen errno
.
winerror
¶
Unter Windows erhalten Sie den Fehlercode nativeWindows. Daserrno
Attribut ist dann eine Approximatetranslation in POSIX-Begriffen dieses nativen Fehlercodes.
Wenn das Konstruktorargument winerror unter Windows eine Ganzzahl ist,wird das Attribut errno
aus dem Windows-Fehlercode bestimmt und das Argument errno wird ignoriert., Auf anderen Plattformen wird thewinerror Argument ignoriert, und diewinerror
attributedoes not exist.
strerror
¶
Die entsprechende Fehlermeldung, wie vom Betriebssystem bereitgestellt. Es wird durch die Cfunctions perror()
unter POSIX und FormatMessage()
unter Windows formatiert.
filename
¶filename2
¶
Für Ausnahmen, die einen Dateisystempfad beinhalten (z. B. open()
oderos.unlink()
), filename
ist der Dateiname, der an die Funktion übergeben wird.,Bei Funktionen, die zwei Dateisystempfade umfassen (z. B.os.rename()
), entspricht filename2
dem an die Funktion übergebenen zweiten Dateinamen.
In Version 3.3 geändert: EnvironmentError
, IOError
, WindowsError
,socket.error
, select.error
undmmap.error
wurden zusammengeführt into OSError
, und theconstructor kann eine Unterklasse zurückgeben.
In Version 3 geändert.,4: Das Attribut filename
ist jetzt der ursprüngliche Dateiname, der an die Funktion übergeben wurde, anstelle des Namens, der in die Dateisystemcodierung codiert oder dekodiert wurde. Außerdem wurde das Konstruktorargument andattribute filename2 hinzugefügt.
exceptionOverflowError
¶
wird Ausgelöst, wenn das Ergebnis einer arithmetischen operation zu groß ist, um berepresented. Dies kann nicht für ganze Zahlen auftreten (die lieberMemoryError
erhöhen würden, als aufzugeben). Aus historischen Gründen wird OverflowError jedoch manchmal für Ganzzahlen außerhalb eines requiredrange., Aufgrund der fehlenden Standardisierung von Gleitkomma-Exceptionhandling in C werden die meisten Gleitkommaoperationen nicht überprüft.
exceptionRecursionError
¶
Diese Ausnahme ist abgeleitet von RuntimeError
. Es wird ausgelöst, wenn theinterpreter erkennt, dass die maximale Rekursionstiefe (siehesys.getrecursionlimit()
) überschritten wird.
Neu in Version 3.5: Zuvor wurde eine einfache RuntimeError
ausgelöst.,
exceptionReferenceError
¶
Diese exception wird ausgelöst, wenn ein schwacher Referenzproxy, der von derweakref.proxy()
– Funktion erstellt wird, verwendet wird, um auf ein Attribut des Referenten zuzugreifen, nachdem der Müll gesammelt wurde. Weitere Informationen zu schwachen Referenzen finden Sie im Modul weakref
.
exceptionRuntimeError
¶
Ausgelöst, wenn ein Fehler erkannt wird, dass nicht fallen in eine der othercategories. Der zugehörige Wert ist eine Zeichenfolge, die angibt,was genau wentwrong.,
exceptionStopIteration
¶
Ausgelöst durch die integrierte Funktion next()
und die__next__()
-Methode eines Iterators, um zu signalisieren, dass vom Iterator keine weiteren Iteratoren erzeugt werden.
Das Ausnahmeobjekt hat ein einzelnes Attribut value
, das beim Erstellen der Ausnahme als Argument angegeben wird, und defaultsto None
.,
Wenn eine Generator-oder Coroutine-funktionumkehrt, wird eine neue StopIteration
– Instanz initialisiert, und der von der Funktion zurückgegebene Wert wird alsvalue
– Parameter für den Konstruktor der Ausnahme verwendet.
Wenn ein Generatorcode direkt oder indirekt StopIteration
auslöst,wird er in eine RuntimeError
konvertiert (wobei dieStopIteration
als Ursache der neuen Ausnahme beibehalten wird).
Geändert in version 3.3: Hinzugefügt value
attribut und die fähigkeit für generator funktionen touse es zu rückkehr eine wert.,
Geändert in Version 3.5: Einführung der RuntimeError-Transformation über, siehe PEP 479.
Geändert in Version 3.7: Aktivieren Sie PEP 479 standardmäßig für den gesamten Code: Ein StopIteration
Fehler, der in einem Generator ausgelöst wird, wird in eine RuntimeError
umgewandelt.
exceptionStopAsyncIteration
¶
ausgelöst werden Muss, durch __anext__()
Methode der anasynchronous iterator-Objekt zu stoppen, wird die iteration.
Neu in version 3.5.,
exceptionSyntaxError
¶
wird Ausgelöst, wenn der parser auf einen Syntaxfehler. Dies kann in einerimport
-Anweisung, in einem Aufruf der integrierten Funktionen oder eval()
oder beim Lesen des ursprünglichen Skripts oder der Standardeingabe(auch interaktiv) auftreten.
Instanzen dieser Klasse haben Attribute filename
, lineno
,offset
und text
für einfacher Zugriff auf die details., str()
der Ausnahmeinstanz gibt nur die Nachricht zurück.
exceptionIndentationError
¶
Basisklasse für Syntaxfehler im Zusammenhang mit falscher Einrückung. Dies ist asubclass von SyntaxError
.
exceptionTabError
¶
Wird ausgelöst, wenn der Einzug eine inkonsistente Verwendung von Registerkarten und Leerzeichen enthält.Dies ist eine Unterklasse von IndentationError
.
exceptionSystemError
¶
wird Ausgelöst, wenn der interpreter findet ein interner Fehler, aber die situation nicht notlook so ernst zu führen, lass alle Hoffnung fahren., Der zugehörige Wert ist adstringierend, der angibt, was schief gelaufen ist (in Low-Level-Begriffen).
Sie sollten dies dem Autor oder Betreuer Ihres Python melden interpreter.Be stellen Sie sicher, dass Sie die Version des Python-Interpreters (sys.version
; es wird auch zu Beginn einer interaktiven Python-Sitzung gedruckt), die genaue errormessage (der zugehörige Wert der Ausnahme) und wenn möglich die Quelle des Programms, das den Fehler ausgelöst hat, melden.
exceptionSystemExit
¶
Diese exception wird durch die Funktion sys.exit()
ausgelöst., Es erbt vonBaseException
anstelle von , so dass es nicht versehentlich von Code erfasst wird, der Exception
. Auf diese Weise kann sich die Ausnahme ordnungsgemäß ausbreiten und den Interpreter zum Beenden veranlassen. Wenn es nicht behandelt wird, wird der Python-Interpreter beendet; Es wird kein Stack-Traceback gedruckt. Theconstructor akzeptiert dasselbe optionale Argument, das an sys.exit()
.,Wenn der Wert eine Ganzzahl ist, gibt er den Systemausgangsstatus an (übergeben an die – Funktion von toC); wenn es None
ist, ist der Exit-Status Null; Wenn es einen anderen Typ (z. B. eine Zeichenfolge) gibt, wird der Wert des Objekts gedruckt undder Exit-Status ist eins.
Ein Aufruf von sys.exit()
wird in eine Ausnahme übersetzt, sodass Clean-uphandler (finally
– Klauseln von try
– Anweisungen) verfolgt werden können und ein Debugger ein Skript ausführen kann, ohne das Risiko einzugehen, die Kontrolle zu verlieren., Die Funktion os._exit()
kann verwendet werden, wenn ein sofortiges Beenden unbedingt erforderlich ist (z. B. im childprocess nach einem Aufruf von os.fork()
).
code
¶
Der exit-status-oder Fehlermeldung, die an den Konstruktor übergeben wird.(Standardmäßig None
.)
exceptionTypeError
¶
wird Ausgelöst, wenn eine operation oder Funktion auf ein Objekt angewendet wird der inappropriatetype. Der zugehörige Wert ist eine Zeichenfolge, die Details zur Typkongruenz enthält.,
Diese Ausnahme kann durch Benutzercode ausgelöst werden, um anzuzeigen, dass eine attemptedoperation für ein Objekt nicht unterstützt wird und nicht sein soll. Wenn ein objectist dazu gedacht, eine bestimmte Operation zu unterstützen, hat aber noch nicht zur Verfügung gestellt animplementation, NotImplementedError
ist die richtige Ausnahme zu erhöhen.
Das Übergeben von Argumenten des falschen Typs (z. B. das Übergeben einer list
wenn eineint
erwartet wird) sollte zu einer TypeError
, aber das Übergeben von Argumenten mit dem falschen Wert (z., eine Zahl außerhalb der erwarteten Grenzen) sollte zu einer ValueError
.
exceptionUnboundLocalError
¶
Wird ausgelöst, wenn in einer Funktion oder Methode auf eine lokale Variable verwiesen wird, aber kein Wert an diese Variable gebunden wurde. Dies ist eine Unterklasse vonNameError
.
exceptionUnicodeError
¶
Wird ausgelöst, wenn ein Unicode-bezogener Kodierungs-oder Dekodierungsfehler auftritt. Es ist asubclass von ValueError
.
UnicodeError
hat Attribute, die die Codierung oder Decodierung beschreibenerror., Zum Beispiel gibt err.object
die particularinvalid-Eingabe an, bei der der Codec fehlgeschlagen ist.
encoding
¶
der name Der Kodierung, die den Fehler ausgelöst.
reason
¶
Eine Zeichenfolge, die den spezifischen Codec-Fehler beschreibt.
object
¶
Das Objekt, das der Codec codieren oder dekodieren wollte.
start
¶
Der erste Index ungültiger Daten in object
.
end
¶
Der Index nach den letzten ungültigen Daten in object
.,
exceptionUnicodeEncodeError
¶
Raised when a Unicode-related error occurs during encoding. It is a subclass ofUnicodeError
.
exceptionUnicodeDecodeError
¶
Raised when a Unicode-related error occurs during decoding. It is a subclass ofUnicodeError
.
exceptionUnicodeTranslateError
¶
Raised when a Unicode-related error occurs during translating. It is a subclassof UnicodeError
.,
exceptionValueError
¶
Wird ausgelöst, wenn eine Operation oder Funktion ein Argument empfängt, das den richtigen Typ, aber einen unangemessenen Wert hat, und die Situation wird von amore nicht beschrieben genaue Ausnahme wie IndexError
.
exceptionZeroDivisionError
¶
Wird ausgelöst, wenn das zweite Argument einer Division oder Modulo-Operation Null ist. Theassociated value ist eine Zeichenfolge, die den Typ der Operanden und deroperation angibt.
Die folgenden Ausnahmen werden für die Kompatibilität mit früheren Versionen beibehalten;ab Python 3.,3, sie sind Aliase von OSError
.
exceptionEnvironmentError
¶ AusnahmeIOError
¶ AusnahmeWindowsError
¶
Nur unter Windows verfügbar.
OS exceptions¶
Die folgenden Ausnahmen sind Unterklassen von OSError
, sie werden erhöhtabhängig vom Systemfehlercode.
exception BlockingIOError
¶
Ausgelöst, wenn eine Operation ein Objekt (z. B. Socket) blockieren würde, das für eine nicht blockierende Operation festgelegt ist.,Entspricht errno
EAGAIN
, EALREADY
,EWOULDBLOCK
und EINPROGRESS
.
Zusätzlich zu denen von OSError
kann BlockingIOError
habenein weiteres Attribut:
characters_written
¶
Eine Ganzzahl, die die Anzahl der Zeichen enthält, die vor dem Blockieren in den Stream geschrieben wurden. Dieses Attribut ist verfügbar, wenn Sie die gepufferten E/A-Klassen aus dem Modul io
.,
exception ChildProcessError
¶
Raised when an operation on a child process failed.Corresponds to errno
ECHILD
.
exception ConnectionError
¶
A base class for connection-related issues.
Subclasses are BrokenPipeError
, ConnectionAbortedError
,ConnectionRefusedError
and ConnectionResetError
.,
exception BrokenPipeError
¶
Eine Unterklasse von ConnectionError
, ausgelöst, wenn beim schreiben auf apipe, während das andere Ende geschlossen wurde, oder zu schreiben versucht, auf eine socketwhich wurde shutdown für das schreiben.Entspricht errno
EPIPE
und ESHUTDOWN
.
exception ConnectionAbortedError
¶
Eine Unterklasse von ConnectionError
, ausgelöst, wenn eine Verbindung attemptis abgebrochen, die von der peer.Entspricht errno
ECONNABORTED
.,
exception ConnectionRefusedError
¶
Eine Unterklasse von ConnectionError
, ausgelöst, wenn eine Verbindung attemptis weigerte sich, die von der peer.Entspricht errno
ECONNREFUSED
.
exception ConnectionResetError
¶
Eine Unterklasse von ConnectionError
, ausgelöst, wenn eine Verbindung isreset von der peer.Entspricht errno
ECONNRESET
.
exception FileExistsError
¶
Wird ausgelöst, wenn versucht wird, eine bereits vorhandene Datei oder ein bereits vorhandenes Verzeichnis zu erstellen.,Corresponds to errno
EEXIST
.
exception FileNotFoundError
¶
Raised when a file or directory is requested but doesn’t exist.Corresponds to errno
ENOENT
.
exception InterruptedError
¶
Raised when a system call is interrupted by an incoming signal.Corresponds to errno
EINTR
.
Changed in version 3.,5: Python versucht nun Systemaufrufe erneut, wenn ein Syscall durch asignal unterbrochen wird, außer wenn der Signalhandler eine Ausnahme auslöst (siehe PEP 475für die Begründung), anstatt InterruptedError
.
exception IsADirectoryError
¶
Wird ausgelöst, wenn eine Dateioperation (z. B. os.remove()
) angefordertauf einem Verzeichnis.Entspricht errno
EISDIR
.
exception NotADirectoryError
¶
Wird ausgelöst, wenn eine Verzeichnisoperation (z. B. os.listdir()
) angefordert wirdauf etwas, das kein Verzeichnis ist.,Corresponds to errno
ENOTDIR
.
exception PermissionError
¶
Raised when trying to run an operation without the adequate accessrights – for example filesystem permissions.Corresponds to errno
EACCES
and EPERM
.
exception ProcessLookupError
¶
Raised when a given process doesn’t exist.Corresponds to errno
ESRCH
.
exception TimeoutError
¶
Raised when a system function timed out at the system level.,Entspricht errno
ETIMEDOUT
.
Neu in Version 3.3: Alle oben genannten OSError
Unterklassen wurden hinzugefügt.
Siehe auch
PEP 3151-Überarbeitung der OS-und IO-Ausnahmehierarchie