⊗pyPmExcCt 75 of 129 menu

Išimčių perėmimas Python kalboje

Python kalboje, palyginus su kitomis programavimo kalbomis, yra labai daug situacijų, sukeliančių išimtis.

Pažvelkime į jas išsamiau. Tarkime, kad turime sąrašą:

lst = [1, 2, 3]

Kreipkimės į neegzistuojantį sąrašo elementą:

print(lts[4])

Vykdant kodą, bus išvesta klaida (išimtis):

IndexError: list index out of range

Jei mums reikia tęsti darbą be išimties išvedimo, ją reikia pagauti naudojant try-except konstrukciją. Ji turi tokį sintaksę:

try: # kodas, sukeliantis išimtį except: # klaidos apdorojimas

try bloke reikėtų talpinti kodą, kuris gali turėti išimtį. Jei vykdant šį kodą atsirastų išimtinė situacija, tai kodo vykdymas nesustos, o pereis į except bloko kodą. Šiame bloke reikėtų aprašyti pranešimo išvedimą, kuo tiksliau apibūdinantį iškilusios klaidos esmę.

Jei vykdant try bloką jokių išimtinių situacijų neatsirado, tai naudingas kodas tiesiog bus vykdomas, o kodas iš except bloko - ne.

Pagaukime mūsų išimtį kreipiantis į neegzistuojantį sąrašo elementą. Tam try bloke patalpinkime kodą su potencialia klaida. O except bloke nurodykime pranešimo 'error: elem is not exist' išvedimą į konsolę:

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Vykdant kodą, bus išvesta:

'error: elem is not exist'

Išstudijavus try-except konstrukciją, jūsų parašyto kodo stilius turėtų pasikeisti. Dabar visas vietas, kuriose gali atsirasti išimtinė situacija, reikia apvynioti try, o except bloke aprašyti reakciją į šią išimtį.

Paklauskite vartotojo dviejų skaičių. Padalinkite vieną iš kito. Pagaukite išimtinę situaciją dalijimo iš nulio.

Paklauskite vartotojo skaičiaus. Raskite šio skaičiaus kvadratinę šaknį. Pagaukite išimtinę situaciją šaknies traukimo iš neigiamo skaičiaus.

Duotas sąrašas. Paklauskite vartotojo sveikojo skaičiaus. Gauti sąrašo elementą, kurio numerį įvedė vartotojas. Pagaukite išimtinę situaciją, kuri atsitiks, jei vartotojas įvedė skaičių už sąrašo diapazono ribų.

Duotas toks kodas:

num = '5' res = num + 2 print(res)

Kas negerai su šiuo kodu? Ištaisykite jo trūkumus.

Duotas toks kodas:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Kas negerai su šiuo kodu? Ištaisykite jo trūkumus.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti