Introduktion till Python Exception Hantering
Undantag hanteras i python med två huvudsakliga tekniker, de är en påstående och undantagshantering. Vi kommer att diskutera teknikerna för hantering av pythonundantag i detta kapitel
Varje händelse som avleder det normala utförandet av programflödet kallas ett undantag. Försök block innehåller möjliga felgenererande koder. Sätta i ordning och hantera dessa undantag är en process som utförs av undantagsblocket som infogas i slutet av varje försöksblock. Ett enda försöksblock kan associera mer än ett undantag vid en viss tidpunkt då det andra blocket faller under det vanliga programflödesavsnittet. All kod där inget försök att blockera skydd behövs placeras i det andra blocket i programmet.
Syntax:
try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block
Standard undantagslista
Undantag: Alla undantag basklass
StopIteration: när inget objekt pekas med nästa metod för iteratorn, tas detta undantag upp
SystemExit: Hissas genom funktionen sys.exit ().
StandardError: Förutom StopIteration och SystemExit fungerar detta som basklassen för alla inbyggda funktioner.
AritmeticError: För alla numeriska fel fungerar dessa undantag som basklassen.
OverflowError: För en numerisk typ om beräkningen överskrider det maximala möjliga värdet höjs detta fel.
FloatingPointError: Fel i en flottörsoperation sparkar detta fel
ZeroDivisionError: Upphöjd när en uppdelning med noll-situation uppstår i koden
AssertionError: När påstådsmeddelandet misslyckas utlöses detta fel
AttributeError: När en tilldelning eller en attributreferens misslyckas lyfter det upp detta fel
EOFErroR: Upphöjd när inga fler input från någon av funktionens och slutet på filen nås
ImportError: höjas medan en importdeklaration misslyckas.
KeyboardInterrupt: Upphävs när det finns ett avbrott i programutförandet
LookupError: Alla uppslagningsfel faller under denna basklass
IndexError: höjs när indexet inte hittades
KeyError: Upphöjd när ordboken inte har det nämnda nyckelvärdet
NameError: Hämtas för en saknad identifierare lokalt eller globalt i programmet
UnboundLocalError: Upphöjd när du använder en lokal variabel utan att något värde tilldelas den.
EnvironmentError: Basklass för miljöorienterade fel som uppstår utanför python
IOError: Upphöjd medan en input / output-process inte lyckas
SyntaxError: Alla pythonsyntaxorienterade fel hanteras av detta undantag
IndentationError: Felaktig intryck kommer att leda till den här typen av fel
SystemError: Detta inträffar i en situation då tolkar inte fungerar som förväntat, men det här felet gör att python-programmet inte går ut
SystemExit: När sys.exit () -funktionen används av pytontolkaren leder det till detta undantag. Detta gör att koden avviker onormalt när den inte hanteras korrekt.
TypeError: När en åtgärd är ogiltig för en viss datatyp uppmanas detta fel
ValueError: När en funktion har ett giltigt typargument men ett felaktigt värde har angetts för det typargumentet
RuntimeError: Om någon av ovanstående kategorier inte är uppfyllda uppstår detta fel
NotImplementedError: Upphöjd medan en icke-formativ metod som vill tillämpas i en ärvt klass inte faktiskt implementeras. Sätta i ordning och hantera dessa undantag är en process som utförs av undantagsblocket som infogas i slutet av varje försöksblock.
Process för undantagshantering i Python
- Förutom klausul med flera undantag
- Undantagsklausul utan inget undantag
- Förutom klausul med argument
Nedan kommer vi att diskutera processen för hantering av undantag i Python
1. Undantagsklausul med flera undantag
Detta gör att fler än ett uttalande deklareras i en undantagsklausul och alla dessa deklarerade undantag kan tas upp från denna undantagsklausul.
Syntax:
try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised
2. Förutom klausul utan undantag
Alla undantag som utlöses från försöksblocket kan behandlas här.
Syntax:
try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block
3. Förutom klausul med argument
Den faktiska orsaken till undantaget hålls i argumentvärdet
Syntax:
try:
Code block1except
ExceptionType, Argument:
Argument value is printed here
4. Hanteringsprogram för undantag
Syntax:
try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"
Slutsats
Varje programmeringsspråk har processen att höja ett undantag när det står inför en oväntad uppsättning situationer och python är ett av dem som producerar djupa tekniker för att hantera dessa undantag, vilket gör det till ett starkt basmålat programmeringsspråk.
Rekommenderad artikel
Detta har varit en guide till Python Exception Hantering. Här diskuterar vi standardundantagslistan och processen tillsammans med Syntax. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Fördelar med Python
- Python Frameworks
- Mönster i Python
- Python Compilers
- Undantagshantering i VB.NET (exempel)
- Ordbok i Python
- VB.Net-evenemang