Site Overlay

Built-in Exceptions¶ (Deutsch)

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 ... importeinen 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 importwenn ein Modul nicht gefunden werden konnte. Es wird auch ausgelöst, wenn Nonein sys.modulesgefunden 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.

filenamefilename2

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 StopIterationauslö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 StopIterationFehler, der in einem Generator ausgelöst wird, wird in eine RuntimeErrorumgewandelt.

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.