Sissejuhatus Pythoni erandkäsitlusse
Erandeid käsitletakse pythonis kahe peamise tehnika abil, need on väite ja erandite käsitlemine. Selles peatükis käsitleme python-erandite käsitlemise tehnikaid
Kõiki sündmusi, mis suunavad ümber programmivoo tavapärase täitmise, nimetatakse erandiks. Proovi plokki hoiab võimalikke tõrkeid koodide genereerimisel. Korrastamine ja nende erandite haldamine on protsess, mille viib välja erandplokk, mis sisestatakse iga prooviploki lõppu. Üks prooviplokk võib seostada rohkem kui ühe erandi konkreetsel ajal, muu plokk kuulub tavapärase programmi voo sektsiooni alla. Kõik koodid, kus pole vaja prooviploki kaitset, paigutatakse programmi muusse plokki.
Süntaks:
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
Standardsete erandite loend
Erand: kõigi erandite põhiklass
StopIteration: kui iteraatori järgmise meetodiga ükski objekt ei osuta, tõstetakse see erand välja
SystemExit: tõsteti funktsiooni sys.exit () kaudu.
StandardError: välja arvatud StopIteration ja SystemExit, toimib see kõigi sisseehitatud funktsioonide põhiklassina.
ArithmeticError: kõigi numbriliste vigade korral toimivad need erandid põhiklassina.
OverflowError: numbrilise tüübi korral, kui arvutus ületab maksimaalse võimaliku väärtuse, tõstetakse see tõrge.
FloatingPointError: Ujukoperatsiooni ebaõnnestumine põhjustab selle tõrke
ZeroDivisionError: tõstetakse, kui koodis jagatakse olukord nulliga
AssertionError: kui väite avaldamine ebaõnnestub, käivitatakse see tõrge
AttributeError: kui määramine või atribuudi viide ebaõnnestub, tekitab see selle tõrke
EOFErroR: tõstetakse, kui funktsiooni ja faili lõppu pole enam sisendit
ImportError: tõstetakse, kui impordideklaratsioon ebaõnnestub.
KeyboardInrtrupt: tõstetakse, kui programmi täitmine on katkestatud
LookupError: kõik otsimisvead kuuluvad selle põhiklassi alla
IndexError: tõstetakse, kui indeksit ei leitud
KeyError: tõstetakse, kui sõnaraamatus pole nimetatud võtme väärtust
NameError: tõstetud puuduva identifikaatori jaoks programmis lokaalselt või globaalselt
UnboundLocalError: tõstetakse kohaliku muutuja kasutamisel, ilma et sellele oleks mingit väärtust omistatud.
EnvironmentError: keskkonnamõjude vigade põhiklass väljaspool pythonit
IOError: tõstetud, kui sisend- / väljundprotsess ebaõnnestus
SyntaxError: selle erandiga käsitletakse kõiki pythoni süntaksile orienteeritud vigu
IndentationError: ebaõige treppimine põhjustab selliseid vigu
SystemError: See ilmneb olukorras, kus tõlk ei tööta ootuspäraselt, kuid see tõrge ei muuda python-programmi täitmisest välja.
SystemExit: kui python-tõlk kasutab funktsiooni sys.exit (), viib see selle erandini. see muudab koodi ebahariliku lõpetamise, kui seda ei käsitata õigesti.
TypeError: kui toiming on teatud andmetüübi jaoks kehtetu, küsitakse seda tõrget
ValueError: kui funktsioon omab kehtivat tüüpi argumenti, kuid selle tüübi argumendile on määratud vale väärtus
RuntimeError: kui mõni ülaltoodud kategooriatest pole rahul, siis tõstetakse see tõrge
NotImplementedError: tõstetakse, kuigi mittekonfiguratiivset meetodit, mida soovitakse rakendada päritud klassis, ei rakendata tegelikult. Korrastamine ja nende erandite haldamine on protsess, mille viib välja erandplokk, mis sisestatakse iga prooviploki lõppu.
Erandite käsitlemise protsess Pythonis
- Välja arvatud mitmete eranditega klausel
- Välja arvatud klausel, milles pole ühtegi erandit nimetatud
- Välja arvatud klausel argumentidega
Allpool käsitleme erandite käsitlemise protsessi Pythonis
1. Välja arvatud klausel koos mitme erandiga
See võimaldab deklareerida ühes väljaarvatud klauslis rohkem kui ühe väljavõtte, välja arvatud juhul, ja kõiki neid välja kuulutatud erandeid saab sellest välja arvata.
Süntaks:
try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised
2. Välja arvatud punkt ilma erandita
Kõiki prooviplokist käivitatud erandeid saab siin töödelda.
Süntaks:
try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block
3. Välja arvatud argument argumentidega
Erandi tegelik põhjus hoitakse argumendi väärtuses
Süntaks:
try:
Code block1except
ExceptionType, Argument:
Argument value is printed here
4. Erandite käsitlemise programm
Süntaks:
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"
Järeldus
Igas programmeerimiskeeles on erandite esilekutsumise protsess, kui ta tuleb silmitsi ootamatute olukordade komplektiga ja nende hulgas on ka python, mis loob nende erandite käsitlemiseks põhjalikke tehnikaid, mis teeb sellest tugeva baasi, mida programmeeritav keel osutab.
Soovitatav artikkel
See on olnud Python Exception Handlingi juhend. Siin käsitleme tavapäraste erandite loendit ja protsessi koos süntaksiga. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Pythoni eelised
- Pythoni raamid
- Mustrid Pythonis
- Pythoni koostajad
- Erandite käsitlemine VB.NET-is (näited)
- Sõnastik Pythonis
- VB.Net sündmused