⊗pyPmExcCt 75 of 129 menu

Izņēmumu pārtveršana Python

Python, salīdzinot ar citām programmēšanas valodām, ir ļoti daudz situāciju, kas izraisa izņēmumus.

Apskatīsim tos sīkāk. Pieņemsim, ka mums ir saraksts:

lst = [1, 2, 3]

Pievērsīsimies neesošam saraksta elementam:

print(lts[4])

Pēc koda izpildes tiks parādīta kļūda (izņēmums):

IndexError: list index out of range

Ja tomēr mums ir nepieciešams turpināt darbu, neizvadot izņēmumu, tas ir jānoķer ar try-except konstrukciju. Tās sintakse ir šāda:

try: # kods, kas izraisa izņēmumu except: # kļūdas apstrāde

try blokā ir jāievieto kods, kas var saturēt izņēmumu. Ja pēkšņi šī koda izpildes laikā rodas izņēmuma situācija, tad koda izpilde neapstāsies, bet pāries uz koda bloku except. Šajā blokā ir jānorāda ziņojums, kas pēc iespējas precīzāk apraksta radušās kļūdas būtību.

Ja, izpildot try bloku, nekādas izņēmuma situācijas nenotika, tad noderīgais kods vienkārši izpildīsies, bet kods no except bloka - nē.

Ļaujiet noķert mūsu izņēmumu, piekļūstot neesošam saraksta elementam. Lai to izdarītu, try blokā ievietosim kodu ar potenciālo kļūdu. Un except blokā norādīsim konsolē izvadīt ziņojumu 'error: elem is not exist':

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

Pēc koda izpildes tiks izvadīts:

'error: elem is not exist'

Izpētījuši try-except konstrukciju, jūsu rakstītā koda stils vajadzētu mainīties. Tagad visas vietas, kurās var rasties izņēmuma situācija, ir jāietver try, un except blokā jānorāda reakcija uz šo izņēmumu.

Jautājiet lietotājam divus skaitļus. Sadaliet vienu ar otru. Noķeriet izņēmuma situāciju, dalot ar nulli.

Jautājiet lietotājam skaitli. Atrodiet šī skaitļa kvadrātsakni. Noķeriet izņēmuma situāciju, izvelkot sakni no negatīva skaitļa.

Dots saraksts. Jautājiet lietotājam veselu skaitli. Iegūstiet saraksta elementu, kura numuru ievadīja lietotājs. Noķeriet izņēmuma situāciju, kas notiks, ja lietotājs ievadīja skaitli ārpus saraksta diapazona.

Dots šāds kods:

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

Kas nav kārtībā ar šo kodu? Izlabojiet tā trūkumus.

Dots šāds kods:

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

Kas nav kārtībā ar šo kodu? Izlabojiet tā trūkumus.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt