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., Ook verhoogd wanneer de” from list “in from ... import
een naam heeft die niet gevonden kan worden.
de attributen name
en path
kunnen worden ingesteld met behulp van keyword-onlyarguments aan de constructor. Wanneer ingesteld representeren ze respectievelijk de naam van de moduledat werd geprobeerd te worden geïmporteerd en het pad naar elk bestand dat de uitzondering triggerde.
gewijzigd in versie 3.3: name
toegevoegd en path
attributen.,
uitzonderingModuleNotFoundError
¶
een subklasse van ImportError
die wordt verhoogd door import
wanneer een module niet kon worden gevonden. Het wordt ook verhoogd wanneer None
wordt gevonden in sys.modules
.
nieuw in versie 3.6.
uitzonderingIndexError
¶
verhoogd wanneer een sequentiesubscript buiten bereik is. (Slice-indices worden stilletjes afgekapt om binnen het toegestane bereik te vallen; als een index niet eeninteger is, wordt TypeError
verhoogd.,)
exceptionKeyError
¶
verhoogd wanneer een toewijzingssleutel (woordenboek) niet wordt gevonden in de verzameling bestaande sleutels.
exceptionKeyboardInterrupt
¶
verhoogd wanneer de gebruiker de interrupt sleutel raakt (normaal gesproken Control-C orDelete). Tijdens de uitvoering, een controle op interrupts is maderegularly. De uitzondering erft van BaseException
om niet per ongeluk te worden gevangen met een code die Exception
vangt en zo te voorkomen dat de interpreter wordt verlaten.,
exceptionMemoryError
¶
verhoogd wanneer een operatie geen geheugen meer heeft, maar de situatie kan nog steeds verslechteren (door sommige Objecten te verwijderen). De bijbehorende waarde is een tekenreeks die aangeeft wat voor soort (interne) operatie geen geheugen meer heeft. Merk op dat vanwege de onderliggende geheugenbeheerarchitectuur (c ‘ s malloc()
functie), de interpretator misschien niet altijd in staat is om volledig te herstellen van deze situatie; het roept echter een uitzondering op zodat een stack traceback kan worden afgedrukt, in het geval dat een run-away programma de oorzaak was.,
exceptionNameError
¶
verhoogd wanneer een lokale of globale naam niet wordt gevonden. Dit geldt alleen voor gekwalificeerde namen. De bijbehorende waarde is een foutmelding die de naam bevat die niet kon worden gevonden.
uitzonderingNotImplementedError
¶
deze uitzondering is afgeleid vanRuntimeError
. In gebruikergedefinieerde basisklassen, zouden abstracte methoden deze uitzondering moeten verhogen wanneer zij afgeleide klassen vereisen om de methode te overschrijven, of terwijl de klasse wordt ontwikkeld om aan te geven dat de echte implementatie nog moet worden toegevoegd.,
Note
Het mag niet worden gebruikt om aan te geven dat een operator of methode helemaal niet moet worden ondersteund – in dat geval laat de operator /methode niet gedefinieerd of, als een subklasse, zet het op None
.
Note
NotImplementedError
en NotImplemented
zijn niet uitwisselbaar,ook al hebben ze vergelijkbare namen en doeleinden. ZieNotImplemented
voor details over wanneer het te gebruiken.,
exceptionOSError
()¶ exceptionOSError
(errno, strerror]])
deze uitzondering wordt verhoogd wanneer een systeemfunctie een systeem-relatederror retourneert, inclusief I / O-fouten zoals “file not found” of “disk full”(niet voor illegale argumenttypen of andere incidentele fouten).
de tweede vorm van de constructor stelt de bijbehorende attributen in, die hieronder worden beschreven. De attributen standaard None
indien niet gespecificeerd., Voor achterwaartse compatibiliteit,als drie argumenten worden doorgegeven, bevat het args
attribuut slechts een 2-tuplevan de eerste twee constructorargumenten.
De constructor geeft vaak een subklasse van OSError
terug, zoals beschreven in OS uitzonderingen hieronder. De specifieke subklasse is afhankelijk van de uiteindelijke errno
waarde. Dit gedrag treedt alleen op bij het construeren van OSError
direct of via een alias, en wordt niet bevestigd bij subclassering.,
errno
¶
een numerieke foutcode van de C-variabele errno
.
winerror
¶
onder Windows geeft dit de foutcode van nativeWindows. Het attribuut errno
is dan een approximatetransformatie, in POSIX-termen, van die oorspronkelijke foutcode.
onder Windows,als het argument winerror constructor een geheel getal is,wordt het attribuut errno
bepaald door de Windows-foutcode, en wordt het errno-argument genegeerd., Op andere platforms wordt het argument wolerror genegeerd, en de winerror
attributed bestaat niet.
strerror
¶
de overeenkomstige foutmelding, zoals verstrekt door het besturingssysteem. Het wordt geformatteerd door de Cfunctions perror()
onder POSIX, en FormatMessage()
onder Windows.
filename
¶filename2
¶
voor uitzonderingen die een bestandssysteem pad impliceren (zoals open()
ofos.unlink()
), filename
is de bestandsnaam doorgegeven aan de functie.,Voor functies die twee bestandssysteempaden omvatten (zoalsos.rename()
), komt filename2
overeen met de naam van het tweede bestand die aan de functie is doorgegeven.
Gewijzigd in versie 3.3: EnvironmentError
, IOError
, WindowsError
,socket.error
, select.error
enmmap.error
samengevoegd in OSError
, en theconstructor kan een subklasse.
gewijzigd in versie 3.,4 :Hetfilename
attribuut is nu de originele bestandsnaam doorgegeven aan de functie, in plaats van de naam gecodeerd naar of gedecodeerd van het bestandssysteem codering. Ook werd het argument bestandsnaam 2 constructor en attribute toegevoegd.
exceptionOverflowError
¶
verhoogd wanneer het resultaat van een rekenkundige bewerking te groot is om te worden weergegeven. Dit kan niet voorkomen voor gehele getallen (die lieverMemoryError
verhogen dan opgeven). Echter, om historische redenen, OverflowError wordt soms verhoogd voor gehele getallen die buiten een requiredrange., Wegens het gebrek aan standaardisatie van de drijvende-komma-uitzonderingsbehandeling in C worden de meeste drijvende-komma-operaties niet gecontroleerd.
uitzonderingRecursionError
¶
deze uitzondering is afgeleid vanRuntimeError
. Het wordt verhoogd wanneer de interpreter detecteert dat de maximale recursie diepte (ziesys.getrecursionlimit()
) wordt overschreden.
nieuw in versie 3.5: eerder werd een gewone RuntimeError
verhoogd.,
exceptionReferenceError
¶
deze uitzondering wordt verhoogd wanneer een zwakke referentieproxy, aangemaakt door deweakref.proxy()
functie, wordt gebruikt om toegang te krijgen tot een attribuut van de referent nadat het vuilnis is verzameld. Voor meer informatie over zwakke referenties,zie de weakref
module.
exceptionRuntimeError
¶
verhoogd wanneer een fout wordt gedetecteerd die niet in een van de andere categorieën valt. De bijbehorende waarde is een string die aangeeft wat precies wentwrong.,
exceptionStopIteration
¶
verhoogd door ingebouwde functie next()
en een iterator ‘ s__next__()
methode om aan te geven dat er geen verdere items worden geproduceerd door de iterator.
het exception object heeft een enkel attribuut value
, dat wordt gegeven als argument bij het construeren van de uitzondering, en defaultsto None
.,
wanneer een generator of coroutinefunctie terugkeert, wordt een nieuwe StopIteration
instantie geisraiseerd, en wordt de waarde die door de functie wordt geretourneerd gebruikt als devalue
parameter aan de constructeur van de uitzondering.
als een generatorcode direct of indirect StopIteration
verhoogt,wordt deze omgezet in een RuntimeError
(met behoud van deStopIteration
als de oorzaak van de nieuwe uitzondering).
gewijzigd in versie 3.3: toegevoegdvalue
attribuut en de mogelijkheid voor generator functies touse it to return a value.,
gewijzigd in versie 3.5: introduceerde de RuntimeError transformatie viafrom __future__ import generator_stop
, zie PEP 479.
gewijzigd in versie 3.7: schakel PEP 479 voor alle code standaard in: a StopIteration
fout in een generator wordt omgezet in een RuntimeError
.
uitzonderingStopAsyncIteration
¶
moet worden verhoogd met __anext__()
methode van anasynchrone iterator object om de iteratie te stoppen.
nieuw in versie 3.5.,
uitzonderingSyntaxError
¶
verhoogd wanneer de parser een syntaxfout tegenkomt. Dit kan voorkomen in eenimport
statement, in een aanroep naar de ingebouwde functiesexec()
ofeval()
, of bij het lezen van het initiële script of standaardinvoer(ook interactief).
instanties van deze klasse hebben attributen filename
, lineno
,offset
en text
voor gemakkelijkere toegang tot de details., str()
van de uitzondering instantie geeft alleen het bericht.
exceptionIndentationError
¶
basisklasse voor syntaxisfouten gerelateerd aan onjuist inspringen. Dit is een subklasse van SyntaxError
.
exceptionTabError
¶
verhoogd wanneer inspringen een inconsistent gebruik van tabs en spaties bevat.Dit is een subklasse van IndentationError
.
exceptionSystemError
¶
verhoogd wanneer de interpreter een interne fout vindt, maar de situatie ziet er niet zo ernstig uit dat het alle hoop laat varen., De bijbehorende waarde is astring wat aangeeft wat er mis ging (in low-level termen).
u moet dit rapporteren aan de Auteur of onderhouder van uw Python interpreter.Be zorg ervoor dat u de versie van de Python-interpreter rapporteert (sys.version
; het wordt ook afgedrukt aan het begin van een interactieve Python-sessie), de exacte errormessage (de bijbehorende waarde van de uitzondering) en indien mogelijk de bron van het programma dat de fout heeft veroorzaakt.
uitzonderingSystemExit
¶
deze uitzondering wordt verhoogd door de functiesys.exit()
., Het erft vanBaseException
in plaats van Exception
zodat het niet per ongeluk wordt gevangen door code die Exception
vangt. Dit staat de uitzondering toe om zich proper te verspreiden en ervoor te zorgen dat de interpreter stopt. Als het niet wordt behandeld, wordt de Python-interpreter afgesloten; er wordt geen traceback van stack afgedrukt. Theconstructor accepteert hetzelfde optionele argument dat wordt doorgegeven aan sys.exit()
.,Als de waarde een geheel getal is, specificeert het de systeemuitvoerstatus (doorgegeven aan toC ‘ s exit()
functie); als het None
is, is de uitvoerstatus nul; als het een ander type heeft (zoals een string), wordt de waarde van het object afgedrukt en de uitvoerstatus is één.
een aanroep naar sys.exit()
wordt vertaald in een uitzondering zodat clean-uphandlers (finally
clausules van try
statements) uitgevoerd kunnen worden, en zodat een debugger een script kan uitvoeren zonder het risico te lopen de controle te verliezen., De functie os._exit()
kan worden gebruikt als het absoluut noodzakelijk is om onmiddellijk af te sluiten (bijvoorbeeld in het dochterproces na een aanroep naar os.fork()
).
code
¶
De afsluitstatus of foutmelding die wordt doorgegeven aan de constructor.(Standaard None
.)
exceptionTypeError
¶
verhoogd wanneer een operatie of functie wordt toegepast op een object van ongepast type. De bijbehorende waarde is een string die details geeft over het type mismatch.,
deze uitzondering kan door gebruikerscode worden verhoogd om aan te geven dat een poging tot actie op een object niet wordt ondersteund, en ook niet bedoeld is. Als een object bedoeld is om een bepaalde operatie te ondersteunen, maar nog geen uitvoering heeft gegeven, is NotImplementedError
de juiste uitzondering om te verhogen.
het passeren van argumenten van het verkeerde type (bijvoorbeeld het passeren van een list
wanneer eenint
wordt verwacht) moet resulteren in een TypeError
, maar het passeren vanargumenten met de verkeerde waarde( bijv., een getal buiten de verwachte grenzen) moet resulteren in een ValueError
.
exceptionUnboundLocalError
¶
verhoogd wanneer een verwijzing wordt gemaakt naar een lokale variabele in een functie of methode, maar er is geen waarde gebonden aan die variabele. Dit is een subklasse vanNameError
.
exceptionUnicodeError
¶
verhoogd wanneer een Unicode-gerelateerde coderingsfout optreedt. Het is een subklasse van ValueError
.
UnicodeError
heeft attributen die de codering of decodingerror beschrijven., Bijvoorbeeld, err.object
geeft de specifieke valid input waar de codec op faalde.
encoding
¶
de naam van de codering die de fout deed ontstaan.
reason
¶
een tekenreeks die de specifieke codec-fout beschrijft.
object
¶
het object dat de codec probeerde te coderen of te decoderen.
start
¶
de eerste index van ongeldige gegevens in object
.
end
¶
de index na de laatste ongeldige gegevens 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
¶
verhoogd wanneer een operatie of functie een argument ontvangt dat het juiste type maar een ongepaste waarde heeft, en de situatie niet wordt beschreven door een meer precieze uitzondering zoals IndexError
.
exceptionZeroDivisionError
¶
verhoogd wanneer het tweede argument van een deling of modulo operatie nul is. De geassocieerde waarde is een tekenreeks die het type van de operanden en de operatie aangeeft.
de volgende uitzonderingen worden bewaard voor compatibiliteit met eerdere versies; vanaf Python 3.,3, het zijn aliassen van OSError
.
uitzonderingEnvironmentError
¶ uitzonderingIOError
¶ uitzonderingWindowsError
¶
alleen beschikbaar op Windows.
OS uitzonderingen¶
de volgende uitzonderingen zijn subklassen van OSError
, ze worden verhoogd afhankelijk van de systeemfoutcode.
exception BlockingIOError
¶
verhoogd wanneer een operatie zou blokkeren op een object (bijvoorbeeld socket) ingesteld voor niet-blokkerende operatie.,Komt overeen met errno
EAGAIN
, EALREADY
,EWOULDBLOCK
en EINPROGRESS
.
naast die van OSError
, BlockingIOError
kan nog een attribuut hebben:
characters_written
¶
een geheel getal dat het aantal tekens bevat dat naar de stream is geschreven voordat het werd geblokkeerd. Dit kenmerk is beschikbaar bij gebruik van de gebufferde I / O-klassen van deio
module.,
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
¶
een subklasse van ConnectionError
, verhoogd wanneer geprobeerd wordt op apipe te schrijven terwijl het andere uiteinde gesloten is, of wanneer geprobeerd wordt te schrijven op een socket die afgesloten is voor schrijven.Komt overeen met errno
EPIPE
en ESHUTDOWN
.
exception ConnectionAbortedError
¶
een subklasse van ConnectionError
, verhoogd wanneer een verbinding wordt afgebroken door de peer.Komt overeen met errno
ECONNABORTED
.,
exception ConnectionRefusedError
¶
een subklasse van ConnectionError
, verhoogd wanneer een poging tot verbinding wordt geweigerd door de peer.Komt overeen met errno
ECONNREFUSED
.
exception ConnectionResetError
¶
een subklasse van ConnectionError
, verhoogd wanneer een verbinding wordt ingesteld door de peer.Komt overeen met errno
ECONNRESET
.
exception FileExistsError
¶
verhoogd bij het maken van een bestand of map die al bestaat.,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 probeert nu systeemaanroepen opnieuw wanneer een syscall wordt onderbroken door asignal, behalve als de signal handler een uitzondering maakt (zie PEP 475voor de motivering), in plaats van InterruptedError
te verhogen.
uitzondering IsADirectoryError
¶
verhoogd wanneer een bestandsoperatie (zoals os.remove()
) wordt aangevraagd in een map.Komt overeen met errno
EISDIR
.
exception NotADirectoryError
¶
verhoogd wanneer een mapbewerking (zoals os.listdir()
) wordt aangevraagd op iets dat geen map is.,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.,Komt overeen met errno
ETIMEDOUT
.
nieuw in versie 3.3: alle bovenstaandeOSError
subklassen zijn toegevoegd.
zie ook
PEP 3151 – herwerken van de OS-en IO-uitzonderingshiërarchie