Uitsondering Opvang in Python
In Python, in vergelyking met ander programmeertale, is daar baie situasies wat uitsonderings veroorsaak.
Kom ons kyk dit in meer detail. Gestel ons het 'n lys:
lst = [1, 2, 3]
Kom ons probeer toegang verkry tot 'n nie-bestaande element van die lys:
print(lts[4])
Na die uitvoering van die kode, sal 'n fout (uitsondering) vertoon word:
IndexError: list index out of range
As ons eger moet voortgaan met die werk sonder om
die uitsondering te vertoon, moet ons dit vang met
behulp van die konstruksie try-except. Dit
het die volgende sintaks:
try:
# kode wat 'n uitsondering kan veroorsaak
except:
# verwerking van die fout
In die try blok moet jy die kode plaas
wat 'n uitsondering kan bevat. As daar
toevallig 'n uitsonderlike situasie voordoen
tydens die uitvoering van hierdie kode, sal die
uitvoering nie stop nie, maar sal dit oorgaan na
die kode in die except blok. In hierdie
blok moet jy 'n boodskap uitskryf wat die
essensie van die opgetrede fout so akkuraat
moontlik beskryf.
As daar geen uitsonderlike situasies voordoen
tydens die uitvoering van die try blok nie,
dan sal die nuttige kode eenvoudig uitgevoer word,
en die kode van die except blok sal nie
uitgevoer word nie.
Kom ons vang ons uitsondering wanneer ons probeer
om toegang te verkry tot 'n nie-bestaande element
van die lys. Om dit te doen, plaas ons die kode
met die potensiële fout in die try blok.
En in die except blok spesifiseer ons die
uitskrywing van die boodskap 'error:
elem is not exist' na die konsole:
lst = [1, 2, 3]
try:
print(lst[4])
except:
print('error: elem is not exist')
Na die uitvoering van die kode, sal die volgende verskyn:
'error: elem is not exist'
Na die bestudering van die try-except
konstruksie, moet die styl van jou geskrewe kode
verander. Nou moet alle plekke waar 'n
uitsonderlike situasie kan voordoen, omhul word
in try, en in die except blok
moet jy die reaksie op hierdie uitsondering
spesifiseer.
Vra die gebruiker vir twee getalle. Deel die een deur die ander. Vang die uitsonderlike situasie van deling deur nul op.
Vra die gebruiker vir 'n getal. Vind die vierkantswortel van hierdie getal. Vang die uitsonderlike situasie op van die ekstraksie van 'n wortel uit 'n negatiewe getal.
Gegewe 'n lys. Vra die gebruiker vir 'n heelgetal. Kry die element van die lys waarvan die nommer deur die gebruiker ingevoer is. Vang die uitsonderlike situasie op wat sal voorkom as die gebruiker 'n getal buite die omvang van die lys ingevoer het.
Gegewe die volgende kode:
num = '5'
res = num + 2
print(res)
Wat is verkeerd met hierdie kode? Korrigeer die tekortkominge daarvan.
Gegewe die volgende kode:
lst = [1, 2, 3, 4]
def getElem(iter):
print(iter[4])
getElem(lst)
Wat is verkeerd met hierdie kode? Korrigeer die tekortkominge daarvan.