⊗pyPmExcCt 75 of 129 menu

Хватање изузетака у Python-у

У Python-у, у поређењу са другим програмским језицима, постоји веома много ситуација које изазивају изузетке.

Хајде да их детаљније размотримо. Претпоставимо да имамо следећу листу:

lst = [1, 2, 3]

Приступимо непостојећем елементу листе:

print(lts[4])

Након извршавања кода, приказаће се грешка (изузетак):

IndexError: list index out of range

Ако желимо да наставимо са радом без приказивања изузетка, треба да га ухватимо помоћу конструкције try-except. Она има следећу синтаксу:

try: # код који може да изазове изузетак except: # руковање грешком

У блоку try треба сместити код који може да садржи изузетак. Ако током извршавања тог кода настане изузетна ситуација, извршавање кода неће се зауставити, већ ће прећи на код у блоку except. У овом блоку треба написати поруку која што прецизније описује суштину настале грешке.

Ако током извршавања блока try не настане ниједна изузетна ситуација, онда ће се корисни код једноставно извршити, а код из блока except неће.

Хајде сада да ухватимо наш изузетак приликом приступа непостојећем елементу листе. За то ћемо у блок try сместити код са потенцијалном грешком. А у блоку except ћемо одредити да се у конзолу испише порука 'error: elem is not exist':

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

Након извршавања кода, исписаће се:

'error: elem is not exist'

Након изучавања конструкције try-except стил вашег кода треба да се промени. Сада сва места на којима може да настане изузетна ситуација, треба да обавијете у try, а у блоку except да напишете реакцију на тај изузетак.

Затражите од корисника два броја. Поделите један другим. Ухватите изузетну ситуацију дељења нулом.

Затражите од корисника број. Пронађите квадратни корен тог броја. Ухватите изузетну ситуацију вађења корена из негативног броја.

Дата је листа. Затражите од корисника цео број. Добијте елемент листе чији је редни број унео корисник. Ухватите изузетну ситуацију која ће се десити ако је корисник унео број ван опсега листе.

Дат је следећи код:

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

Шта није у реду са овим кодом? Исправите његове недостатке.

Дат је следећи код:

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

Шта није у реду са овим кодом? Исправите његове недостатке.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј