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., Også hævet, når “fra listen” i from ... import
har et navn, der ikke kan findes.
name
ogpath
attributter kan indstilles ved hjælp af nøgleord-kunargumenter til konstruktøren. Når de er indstillet, repræsenterer de navnet på modulet, der blev forsøgt at importeres, og stien til enhver fil, der triggered the e respectivelyception, henholdsvis.ændret i version 3.3: tilføjetname
ogpath
attributter.,
undtagelseModuleNotFoundError
¶
En underklasse af ImportError
, som er rejst af import
, når et modul kunne ikke være placeret. Det hæves også, når None
findes i sys.modules
.
nyt i version 3.6.
undtagelseIndexError
hævet, når en sekvens abonnement er uden for rækkevidde. (Skiveindekser er tydeligt afkortet for at falde i det tilladte interval; hvis et indeks ikke er aninteger, hævesTypeError
.,) undtagelseKeyError
hævet, når en kortlægning (ordbog) nøgle ikke findes i sæt af eksisterende nøgler. undtagelseKeyboardInterrupt
hævet, når brugeren rammer afbrydelsesnøglen (normalt Control-C orDelete). Under udførelsen foretages en check for afbrydelseregelmæssigt. Undtagelse arver fraBaseException
, så du ikke beaccidentally fanget af kode, der fangerException
og dermed preventthe tolk fra spændende., undtagelseMemoryError
hævet, når en operation løber tør for hukommelse, men situationen kan stadig berescued (ved at slette nogle objekter). Den tilknyttede værdi er en streng, der indikererhvilken slags (intern) operation løb tør for hukommelsen. Bemærk, at på grund af theunderlying memory management architecture (C ‘malloc()
funktion), theinterpreter kan ikke altid være i stand til helt at gendanne fra denne situation; itnevertheless rejser en undtagelse, så en stak tilbagesporing kan udskrives, incase en kør-væk-program var årsagen.,undtagelse
NameError
hævet, når et lokalt eller globalt navn ikke findes. Dette gælder kun forukvalificerede navne. Den tilknyttede værdi er en fejlmeddelelse, der indeholdernavn, der ikke kunne findes. bortsetNotImplementedError
¶
Denne undtagelse er afledt af RuntimeError
. I brugerdefinerede baseclasses, bør abstrakte metoder hæve denne undtagelse, når de re .uirederived klasser til at tilsidesætte metoden, eller mens klassen beingdeveloped at angive, at den reelle implementering stadig skal tilføjes.,
Bemærk
Det bør ikke bruges til at indikere, at en operatør eller metode slet ikke kan understøttes – i så fald skal operatøren/metoden være udefineret eller, hvis en underklasse, indstille den tilNone
.
Bemærk!
NotImplementedError
og NotImplemented
er ikke udskiftes,selvom de har samme navn og formål. SeNotImplemented
for detaljer om, hvornår det skal bruges.,
undtagelseOSError
()¶ undtagelseOSError
(errno, strerror]])
Denne undtagelse er løftet, når et system-funktion returnerer en system-relatederror, herunder i/O-fejl som “filen blev ikke fundet” eller “disken er fuld”(ikke for ulovlig argument, typer eller andre hændelige fejl).
den anden form for konstruktøren indstiller de tilsvarende attributter,beskrevet nedenfor. Attributterne standard til None
hvis notspecified., For bagudkompatibilitet,hvis tre argumenter er bestået, indeholder args
attributten kun en 2-tupleaf de to første konstruktørargumenter.
konstruktøren returnerer ofte en underklasse af OSError
, som beskrevet i os undtagelser nedenfor. Den særlige underklasse afhænger afden endelige errno
værdi. Denne adfærd forekommer kun, når man konstruerer OSError
direkte eller via et alias og ikke er arvelig, når man underklasser.,
errno
en numerisk fejlkode fra C-variablenerrno
.winerror
Under Windowsindo .s giver dette dig native .indo .s-fejlkoden. Attributtenerrno
er derefter en tilnærmelsesvis oversættelse i posi. – termer af den oprindelige fejlkode.
Under Windowsindo .s, hvis argumentinerror constructor-argumentet er et helt tal,bestemmes attributten errno
ud fra errorindo .s-fejlkoden,og errno-argumentet ignoreres., På andre platforme ignorereswinerror-argumentet, og winerror
attributfindes ikke.
strerror
den tilsvarende fejlmeddelelse, som angivet afoperativsystemet. Det er formateret af Cfunctionsperror()
henhold til POSIX, ogFormatMessage()
under Windows.filename
¶filename2
¶
For undtagelser, der indebærer en file system path (som f.eks. open()
elleros.unlink()
), filename
er det filnavn, der overføres til funktionen.,For funktioner, der involverer to filsystemstier (såsomos.rename()
), svarer filename2
til det andetfilnavn, der overføres til funktionen.
der er Ændret i version 3.3: EnvironmentError
IOError
WindowsError
socket.error
select.error
ogmmap.error
er blevet fusioneret ind i OSError
, og theconstructor kan returnere en underklasse.
ændret i version 3.,4: filename
attributten er nu det originale filnavn overført til funktionen, i stedet for navnet kodet til eller afkodet fra filesystem-kodning. Også filename2 constructor argument andattribute blev tilføjet.
undtagelseOverflowError
hævet, når resultatet af en aritmetisk operation er for stor til at værerepræsenteret. Dette kan ikke forekomme for heltal (som hellere vil hæveMemoryError
end give op). Men af historiske årsager, Overflo .error er undertiden rejst for heltal, der er uden for en re .uireddrange., På grund af manglende standardisering af Floating point e .ceptionhandling i C, er de fleste floating point operationer ikke kontrolleret. bortsetRecursionError
¶
Denne undtagelse er afledt af RuntimeError
. Det hæves, nårfortolker registrerer, at den maksimale rekursionsdybde (sesys.getrecursionlimit()
) overskrides.
nyt i version 3.5: tidligere blev en almindeligRuntimeError
hævet.,
undtagelseReferenceError
¶
Denne undtagelse er løftet, når en svag reference proxy, skabt afweakref.proxy()
funktion, der bruges til at få adgang til en attribut i referentafter det har været affald indsamles. For mere information om svage referencer,se weakref
modul.
undtagelseRuntimeError
hæves, når der opdages en fejl, der ikke falder i nogen af de andre kategorier. Den tilhørende værdi er en streng, der angiver, hvad der netop gikforkert., bortsetStopIteration
¶
der er Rejst af indbyggede funktion next()
og en iterator er__next__()
metode til at signalere, at der er ingen furtheritems produceret af iterator.
undtagelsesobjektet har en enkelt attributvalue
, hvilket er givet som et argument ved konstruktion af undtagelsen, og defaultstoNone
.,
Når en generator eller coroutine functionreturns, en ny StopIteration
eksempel israised, og den værdi, der returneres af funktionen bruges somvalue
parameter til konstruktøren af undtagelsen.
Hvis en generator koden direkte eller indirekte rejser StopIteration
,der er konverteret til en RuntimeError
(bevarerStopIteration
, som den nye undtagelse er årsagen).
ændret i version 3.3: tilføjetvalue
attribut og evnen til generatorfunktioner til at bruge den til at returnere en værdi.,
ændret i version 3.5: introducerede RuntimeError-transformationen viafrom __future__ import generator_stop
, se PEP 479.
der er Ændret i version 3.7: aktivering af PEP 479 for hele koden som standard: StopIteration
fejl, der er rejst i en generator er omdannet til en RuntimeError
.
undtagelseStopAsyncIteration
¶
Skal rejses af __anext__()
metode til anasynchronous iterator-objekt til at stoppe iteration.
nyt i version 3.5.,
undtagelseSyntaxError
hævet, når parseren støder på en syntaksfejl. Dette kan forekomme i enimport
erklæring, i et opkald til den indbyggede funktionerexec()
ellereval()
, eller, når man læser den oprindelige script eller standard input(også interaktivt).
i Tilfælde af denne klasse har attributter filename
lineno
offset
og text
for at få nemmere adgang til oplysninger., str()
af undtagelsen instans returnerer kun meddelelsen.
undtagelseIndentationError
basisklasse for syntaksfejl relateret til Forkert indrykning. Dette er en underklasse afSyntaxError
.undtagelseTabError
hævet, når indrykning indeholder en inkonsekvent brug af faner og mellemrum.Dette er en underklasse afIndentationError
. undtagelseSystemError
hævet, når tolken finder en intern fejl, men situationen gør det ikkese så alvorligt at få det til at opgive alt håb., Den tilknyttede værdi er astring, der angiver, hvad der gik galt (i lavt niveau).
Du bør rapportere dette til forfatteren eller vedligeholder af dine Python-fortolkeren.Sørg for at rapportere version af Python-fortolker (sys.version
; det isalso udskrives ved starten af et interaktivt Python-session), den nøjagtige fejlmeddelse (undtagelse er forbundet værdi) og om muligt kilden til theprogram, der udløste fejlen.
undtagelseSystemExit
denne undtagelse hæves af funktionensys.exit()
., Det arver fraBaseException
i stedet forException
, så det er ikke accidentallycaught af kode, der fangerException
. Dette tillader undtagelsen atkorrekt formere sig og få tolken til at afslutte. Når det ikke håndteres, forlader Python-tolken; ingen stack traceback udskrives. Theconstructor accepterer det samme valgfrie argument, der overføres tilsys.exit()
.,Hvis værdien er et tal, der angiver det system exit status (bestået toC ‘ sexit()
funktion), hvis det erNone
exit status er lig nul, hvisdet er en anden type (som en streng), objektets værdi, der er trykt ogkommissionens exit status er en.
En opfordring til at sys.exit()
er oversat til en undtagelse, så ren-uphandlers (finally
dele af try
udsagn) kan beexecuted, og så en debugger kan udføre et script uden at køre riskof at miste kontrollen., Funktionen os._exit()
kan bruges, hvis det er absolut positivt nødvendigt at afslutte straks (for eksempel i barnetproces efter et opkald tilos.fork()
).
code
e .it status eller fejlmeddelelse, der sendes til konstruktøren.(Standard til
None
.) undtagelseTypeError
hævet, når en operation eller funktion anvendes på et objekt af uhensigtsmæssig type. Den tilknyttede værdi er en streng, der giver detaljer om typen mismatch.,
denne undtagelse kan hæves med brugerkode for at indikere, at en attemptedoperation på et objekt ikke understøttes, og er ikke beregnet til at være. Hvis et objekt er beregnet til at understøtte en given operation, men endnu ikke har givet en implementering, NotImplementedError
er den rette undtagelse at hæve.
Passerer argumenter af den forkerte type (fx passerer en list
, når enint
er forventede) bør resultere i en TypeError
, men passingarguments med den forkerte værdi (fx, et tal uden for forventede grænser)bør resultere i en ValueError
.
undtagelseUnboundLocalError
hævet, når der henvises til en lokal variabel i en funktion eller metode, men ingen værdi er bundet til denne variabel. Dette er en underklasse afNameError
. undtagelseUnicodeError
hævet, når der opstår en Unicode-relateret kodnings-eller dekodningsfejl. Det er en klasse afValueError
.
UnicodeError
har attributter, der beskriver kodning eller dekodningfejl., For eksempel giver err.object
det particularinvalid input, som codec mislykkedes på.
encoding
navnet på den kodning, der rejste fejlen.reason
en streng, der beskriver den specifikke codec-fejl.object
objektet codec forsøgte at kode eller afkode.start
¶
Det første indeks for ugyldige data i object
.
end
¶
indekset, efter at den sidste ugyldige data i 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
.,
bortsetValueError
¶
der Rejses, når en operation eller funktion modtager et argument, der har theright type, men en forkert værdi, og situationen er ikke beskrevet af mere præcise undtagelse såsom IndexError
.
undtagelseZeroDivisionError
hævet, når det andet argument for en division eller modulo-operation er nul. Denassocieret værdi er en streng, der angiver typen af operanderne ogoperationen.
følgende undtagelser holdes for kompatibilitet med tidligere versioner;startende fra Python 3.,3, er de aliaser af OSError
.
bortsetEnvironmentError
¶ undtagelseIOError
¶ undtagelseWindowsError
¶
det er Kun tilgængelig på Windows.
OS undtagelser¶
følgende undtagelser er underklasser af OSError
, de får raiseddepending på systemet fejl kode.
undtagelseBlockingIOError
hævet, når en operation ville blokere på et objekt (f.eks.,Svarer til errno
EAGAIN
EALREADY
EWOULDBLOCK
og EINPROGRESS
.
ud over de af OSError
BlockingIOError
kan haveone mere attribut:
characters_written
¶
er Et heltal, der indeholder antallet af tegn, der er skrevet til streambefore det blokeret. Denne attribut er tilgængelig, når du brugerbuffered I/O klasser fra io
modul.,
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
.,
bortset BrokenPipeError
¶
En underklasse af ConnectionError
, der rejses, når de forsøger at skrive på apipe, mens den anden ende er blevet lukket, eller forsøger at skrive på en socketwhich har været nedlukning for at skrive.Svarer til errno
EPIPE
og ESHUTDOWN
.
undtagelse ConnectionAbortedError
en underklasse afConnectionError
, hævet, når et forbindelsesforsøg afbrydes af peer.Svarer til errno
ECONNABORTED
., undtagelse ConnectionRefusedError
en underklasse afConnectionError
, hævet, når et forbindelsesforsøg afvises af peer.Svarer til errno
ECONNREFUSED
. bortset ConnectionResetError
¶
En underklasse af ConnectionError
, der rejses, når en forbindelse isreset af peer.Svarer til errno
ECONNRESET
.
undtagelse FileExistsError
hævet, når du forsøger at oprette en fil eller mappe, der allerede findes.,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 nu forsøg system opkald, når en syscall er afbrudt af asignal, undtagen hvis det signal handler rejser en undtagelse (se PEP 475for rationalet), i stedet for at hæve InterruptedError
.
undtagelse IsADirectoryError
¶
der Rejses, når en fil-operation (f.eks. os.remove()
), requestedon en mappe.Svarer til errno
EISDIR
.
bortset NotADirectoryError
¶
der Rejses, når en mappe drift (f.eks. os.listdir()
), requestedon noget, som ikke er en mappe.,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.,Svarer til errno
ETIMEDOUT
.
nyt i version 3.3: alle ovenståendeOSError
underklasser blev tilføjet.
Se også
PEP 3151-omarbejdning af os-og IO-undtagelseshierarkiet