⊗pyPmExcCt 75 of 129 menu

Hvatanje izuzetaka u Pythonu

U Pythonu u poređenju sa drugim programskim jezicima postoji veoma mnogo situacija koje izazivaju izuzetke.

Hajde da ih detaljnije razmotrimo. Pretpostavimo da imamo listu:

lst = [1, 2, 3]

Pristupimo elementu liste koji ne postoji:

print(lst[4])

Nakon izvršavanja koda ispisaće se greška (izuzetak):

IndexError: list index out of range

Ako želimo da nastavimo rad bez ispisivanja izuzetka, treba da ga uhvatimo pomoću konstrukcije try-except. Ona ima sledeću sintaksu:

try: # kod koji može izazvati izuzetak except: # obrada greške

U bloku try treba smestiti kod koji može sadržati izuzetak. Ako prilikom izvršavanja tog koda dođe do izuzetne situacije, izvršavanje koda neće se zaustaviti, već će preći na kod bloka except. U ovom bloku treba napisati poruku koja što preciznije opisuje suštinu nastale greške.

Ako prilikom izvršavanja bloka try ne dođe do izuzetnih situacija, onda će se korisni kod jednostavno izvršiti, a kod iz bloka except - neće.

Hajde da uhvatimo naš izuzetak prilikom pristupa ne postojećem elementu liste. Za ovo ćemo u blok try smestiti kod sa potencijalnom greškom. A u bloku except ćemo naznačiti ispis u konzoli poruke 'error: elem is not exist':

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

Nakon izvršavanja koda ispisaće se:

'error: elem is not exist'

Nakon proučavanja konstrukcije try-except stil koda koji pišete treba da se promeni. Sada sva mesta na kojima može doći do izuzetne situacije, treba da budu obavijena u try, a u bloku except treba napisati reakciju na taj izuzetak.

Pitajte korisnika za dva broja. Podelite jedan sa drugim. Uhvatite izuzetnu situaciju deljenja sa nulom.

Pitajte korisnika za broj. Pronađite kvadratni koren tog broja. Uhvatite izuzetnu situaciju vađenja korena iz negativnog broja.

Data je lista. Pitajte korisnika za ceo broj. Dohvatite element liste čiji je redni broj uneo korisnik. Uhvatite izuzetnu situaciju koja će se desiti ako je korisnik uneo broj van opsega liste.

Dat je sledeći kod:

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

Šta nije u redu sa ovim kodom? Ispravite njegove nedostatke.

Dat je sledeći kod:

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

Šta nije u redu sa ovim kodom? Ispravite njegove nedostatke.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij