⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць