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., Höjs också när ”from list”i from ... import
har ett namn som inte kan hittas.
attributenname
ochpath
kan endast ställas in med hjälp av nyckelordargument till konstruktören. När de anger namnet på modulethat försökte importeras och sökvägen till en fil som utlöste undantaget, respektive.
ändrad i version 3.3: lade till attributenname
ochpath
.,
undantagModuleNotFoundError
¶
en underklass avImportError
som höjs avimport
när en modul inte kunde placeras. Det höjs också när None
hittas isys.modules
.
nytt i version 3.6.
undantagIndexError
¶
höjs när en sekvens subscript är utanför intervallet. (Skiva index aresilently trunkerade att falla i tillåtna intervallet; om ett index är inte aninteger, TypeError
höjs.,)
undantagKeyError
¶
höjs när en mappning (ordbok) Nyckel inte finns i uppsättningen av befintliga nycklar.
undantagKeyboardInterrupt
¶
höjs när användaren träffar avbrottsknappen (normalt Control-C orDelete). Under utförandet görs en kontroll för avbrottregelbundet. Undantaget ärver frånBaseException
för att inte oavsiktligt fångas av kod som fångarException
och därmed förhindra att tolken lämnar.,
undantagMemoryError
¶
höjs när en operation tar slut på minnet, men situationen kan fortfarande berescued (genom att ta bort vissa objekt). Det associerade värdet är en sträng som indikerarvilken typ av (intern) operation sprang ut ur minnet. Observera att på grund av theunderlying memory management architecture (C: s malloc()
funktion), theinterpreter kan inte alltid ha möjlighet att helt återhämta sig från denna situation. itnevertheless höjer ett undantag, så att en bunt traceback kan skrivas ut, incase en run-away-programmet var orsaken.,
undantagNameError
¶
höjs när ett lokalt eller globalt namn inte hittas. Detta gäller endast okvalificerade namn. Det associerade värdet är ett felmeddelande som innehåller detnamn som inte kunde hittas.
undantagNotImplementedError
¶
detta undantag härrör frånRuntimeError
. I användardefinierade basklasser bör abstrakta metoder höja detta undantag när de kräveriverade klasser för att åsidosätta metoden, eller medan klassen håller på att utvecklas för att indikera att den verkliga implementeringen fortfarande behöver läggas till.,
Obs
det bör inte användas för att indikera att en operatör eller metod inte är det lämpligt att stödjas alls – i så fall antingen lämna operatören/metoden odefinierad eller, om en underklass, ställa in den tillNone
.
Obs
NotImplementedError
ochNotImplemented
är inte utbytbara,även om de har liknande namn och syften. SeNotImplemented
för detaljer om när du ska använda den.,
undantagOSError
()¶ undantagOSError
(errno, straror])
detta undantag höjs när en systemfunktion returnerar en systemrelatederror, inklusive i / O-fel som ”file not found” eller ”disk full”(inte för olagliga argumenttyper eller andra tillfälliga fel).
konstruktörens andra form anger motsvarande attribut,som beskrivs nedan. Attributen standard till None
om inte specificerad., För bakåtkompatibilitet innehåller attributet args
endast en 2-tupleof de två första konstruktörsargumenten om tre argument skickas.
konstruktören returnerar ofta faktiskt en underklass tillOSError
, sombeskrivs i OS-undantagen nedan. Den särskilda underklassen beror pådet slutliga errno
– värdet. Detta beteende inträffar endast närkonstruktionen OSError
sker direkt eller via ett alias och är inte verifierad vid underklassificering.,
errno
¶
en numerisk felkod från C-variabelnerrno
.
winerror
¶
under Windows ger detta dig felkoden nativeWindows. Attributeterrno
är då en approximatetranslation, i POSIX-termer, av den ursprungliga felkoden.
under Windows, om winerror constructor argumentet är ett heltal, errno
attributet bestäms från Windows felkod,och Errno argumentet ignoreras., På andra plattformar ignoreras argumentet ”thewinerror” och attributetwinerror
existerar inte.
strerror
¶
motsvarande felmeddelande, som tillhandahålls av operativsystemet. Den är formaterad av Cfunctions perror()
under POSIX och FormatMessage()
under Windows.
filename
¶filename2
¶
för undantag som innebär en filsystemsväg (somopen()
elleros.unlink()
),filename
är filnamnet som skickas till funktionen.,För funktioner som involverar två sökvägar i filsystemet (somos.rename()
) motsvarar filename2
det andra filnamnet som skickas till funktionen.
ändrad i version 3.3: EnvironmentError
, IOError
, WindowsError
,socket.error
, select.error
ochmmap.error
har slagits samman till OSError
, och konstruktören kan returnera en underklass.
ändrad i version 3.,4: attributet filename
är nu det ursprungliga filnamnet som skickas tillfunktionen, istället för det namn som kodas till eller avkodas frånfilesystemkodningen. Dessutom lades filename2 constructor-argumentet ochattribute till.
undantagOverflowError
¶
höjs när resultatet av en aritmetisk operation är för stor för att varapresenteras. Detta kan inte inträffa för heltal (vilket hellre skulle höjaMemoryError
än att ge upp). Men av historiska skäl, är OverflowError ibland upp för heltal som ligger utanför en requiredrange., På grund av bristen på standardisering av flyttal undantaghantering i C, de flesta flyttalsoperationer kontrolleras inte.
undantagRecursionError
¶
detta undantag härrör frånRuntimeError
. Den höjs när interpretern upptäcker att det maximala rekursionsdjupet (sesys.getrecursionlimit()
) överskrids.
nytt i version 3.5: tidigare höjdes en vanligRuntimeError
.,
undantagReferenceError
¶
detta undantag höjs när en svag referensproxy, skapad av funktionenweakref.proxy()
, används för att komma åt ett attribut för referentenefter att det har samlats sopor. Mer information om svaga referenser finns i modulenweakref
.
undantagRuntimeError
¶
höjs när ett fel upptäcks som inte faller i någon av de andrakategorierna. Det associerade värdet är en sträng som anger vad exakt wentwrong.,
undantagStopIteration
¶
höjs genom inbyggd funktionnext()
och en iterator__next__()
metod för att signalera att det inte finns några ytterligare objekt som produceras av iteratorn.
undantagsobjektet har ett enda attribut value
, vilket isgiven som ett argument vid konstruktion av undantaget, och defaultsto None
.,
När en generator eller coroutine functionreturns, en ny StopIteration
instans israised, och det värde som returneras av funktionen används somvalue
parameter till konstruktorn för undantag.
om en generator kod direkt eller indirekt höjer StopIteration
,omvandlas den till en RuntimeError
(behållerStopIteration
som det nya undantagets orsak).
ändrad i version 3.3: tillagtvalue
attribut och möjligheten för generatorfunktioner att använda det för att returnera ett värde.,
ändrad i version 3.5: introducerade runtimeerror-omvandlingen viafrom __future__ import generator_stop
, se PEP 479.
ändrad i version 3.7: aktivera PEP 479 för all kod som standard: aStopIteration
fel som uppstått i en generator omvandlas till enRuntimeError
.
undantagStopAsyncIteration
¶
måste höjas med__anext__()
metod för anasynkron iteratorobjekt för att stoppa iterationen.
nytt i version 3.5.,
undantagSyntaxError
¶
höjs när tolken stöter på ett syntaxfel. Detta kan inträffa i ettimport
– uttalande, i ett samtal till de inbyggda funktionerna exec()
eller eval()
, eller när du läser det ursprungliga skriptet eller standardinmatningen(även interaktivt).
instanser av denna klass har attribut filename
, lineno
,offset
och text
för enklare åtkomst till detaljerna., str()
I undantagsinstansen returnerar bara meddelandet.
undantagIndentationError
¶
basklass för syntaxfel relaterade till felaktig indrag. Detta är asubclass av SyntaxError
.
undantagTabError
¶
höjs när indrag innehåller en inkonsekvent användning av flikar och mellanslag.Detta är en underklass till IndentationError
.
undantagSystemError
¶
höjs när tolken hittar ett internt fel, men situationen gör det inteser så allvarligt att det överger allt hopp., Det associerade värdet är astring som anger vad som gick fel (i lågnivåtermer).
Du bör rapportera detta till författaren eller ansvarig för din Python interpreter.Be var noga med att rapportera versionen av Python-tolken (sys.version
; den skrivs också ut i början av en interaktiv Python-session), det exakta felmeddelandet (undantagets associerade värde) och om möjligt källan tillprogrammet som utlöste felet.
undantagSystemExit
¶
detta undantag höjs av funktionensys.exit()
., Det ärver frånBaseException
I stället för Exception
så att det inte är av misstag genom kod som fångar Exception
. Detta gör att undantaget tillproperly föröka sig och få tolken att gå ut. När den inte ärhanterad, Python tolken avslutar; ingen stack traceback skrivs ut. Theconstructor accepterar samma valfria argument som skickas till sys.exit()
.,Om värdet är ett heltal anger det systemutgångsstatus (godkänd toC: s exit()
– funktion); om det är None
är utgångsstatusen noll; om den har en annan typ (t.ex. en sträng) skrivs objektets värde ut och exitstatusen är en.
ett samtal tillsys.exit()
översätts till ett undantag så att städförare (finally
klausuler itry
-satser) kan exekveras, och så att en debugger kan exekvera ett skript utan att riskera att förlora kontrollen., Funktionenos._exit()
kan användas om den är absolut nödvändig för att avsluta omedelbart (till exempel i barnprocessen efter ett samtal tillos.fork()
).
code
¶
utgångsstatus eller felmeddelande som skickas till konstruktören.(Standard None
.)
undantagTypeError
¶
höjs när en operation eller funktion tillämpas på ett objekt av olämpligtyp. Det associerade värdet är en sträng som ger detaljer om typen mismatch.,
detta undantag kan höjas med användarkod för att indikera att en försöksoperation på ett objekt inte stöds och inte är avsedd att vara. Om ett mål är avsett att stödja en viss åtgärd men ännu inte har tillhandahållit någon genomförande, är NotImplementedError
det rätta undantaget att höja.
att skicka argument av fel typ (t. ex. skicka en list
när enint
förväntas) bör resultera i en TypeError
, men passingarguments med fel värde (t. ex., ett tal utanför förväntade gränser) bör resultera i en ValueError
.
undantagUnboundLocalError
¶
höjs när en referens görs till en lokal variabel i en funktion eller metod, men inget värde har bundits till den variabeln. Detta är en underklass tillNameError
.
undantagUnicodeError
¶
höjs när en Unicode-relaterad kodning eller avkodning fel inträffar. Det är asubclass av ValueError
.
UnicodeError
har attribut som beskriver kodningen eller avkodningsfel., Till exempel gererr.object
den particularinvalid-ingång som codec misslyckades på.
encoding
¶
namnet på kodningen som höjde felet.
reason
¶
en sträng som beskriver det specifika codec-felet.
object
¶
objektet som codec försökte koda eller avkoda.
start
¶
det första indexet för ogiltiga data iobject
.
end
¶
indexet efter den senaste ogiltiga data iobject
.,
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
.,
undantagValueError
¶
höjs när en operation eller funktion tar emot ett argument som har threight-typ men ett olämpligt värde, och situationen beskrivs inte av amore precise exception somIndexError
.
undantagZeroDivisionError
¶
höjs när det andra argumentet för en division eller modulo operation är noll. Det associerade värdet är en sträng som anger typen av operander och drift.
följande undantag hålls för kompatibilitet med tidigare versioner;från Python 3.,3, de är alias för OSError
.
undantagEnvironmentError
¶ undantagIOError
¶ undantagWindowsError
¶
endast tillgängligt i Windows.
undantag från OS¶
följande undantag är underklasser avOSError
, de höjsberoende på systemfelkoden.
undantagBlockingIOError
¶
höjs när en operation skulle blockera på ett objekt (t.ex. uttag) setför icke-blockerande operation.,Motsvarar errno
EAGAIN
, EALREADY
,EWOULDBLOCK
och EINPROGRESS
.
förutom de som OSError
, BlockingIOError
kan haett mer attribut:
characters_written
¶
ett heltal som innehåller antalet tecken skrivna till streambefore det blockeras. Detta attribut är tillgängligt när du använder debuffrade I/O-klasserna frånio
– modulen.,
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
.,
undantag BrokenPipeError
¶
en underklass av ConnectionError
, upp när man försöker skriva på apipe medan den andra änden har stängts, eller försöker skriva på en socketsom har stängts för att skriva.Motsvarar errno
EPIPE
och ESHUTDOWN
.
undantag ConnectionAbortedError
¶
en underklass av ConnectionError
, upphöjd när ett anslutningsförsök avbryts av peer.Motsvarar errno
ECONNABORTED
.,
undantag ConnectionRefusedError
¶
en underklass av ConnectionError
, upphöjd när en anslutning attemptis nekas av peer.Motsvarar errno
ECONNREFUSED
.
undantag ConnectionResetError
¶
en underklass av ConnectionError
, upphöjd när en anslutning isreset av peer.Motsvarar errno
ECONNRESET
.
undantagFileExistsError
¶
höjs när du försöker skapa en fil eller katalog som redan finns.,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 försöker nu systemanrop när en syscall avbryts av asignal, förutom om signalhanteraren höjer ett undantag (se PEP 475för logiken), istället för att höja InterruptedError
.
undantagIsADirectoryError
¶
höjs när en filoperation (somos.remove()
) begärspå en katalog.Motsvarar errno
EISDIR
.
undantagNotADirectoryError
¶
höjs när en katalogoperation (somos.listdir()
) begärspå något som inte är en katalog.,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.,Motsvarar errno
ETIMEDOUT
.
nytt i version 3.3: alla ovanståendeOSError
underklasser har lagts till.
Se även
PEP 3151 – omarbeta OS-och io-undantagshierarkin