Բացառությունների բռնումը Python-ում

Python-ը այլ ծրագրավորման լեզուների համեմատությամբ ունի շատ更多 situatsions, որոնք առաջացնում են բացառություններ:

Եկեք մանրամասն ուսումնասիրենք դրանք: Ենթադրենք ունենք 列表:

pythonlst = [1, 2, 3]

Դիմենք 列表ի գոյություն չունեցող տարրին:

pythonprint(lts[4])

Կոդի կատարումից հետո կցուցադրվի սխալ (բացառություն):

errorIndexError: list index out of range

Եթե մենք 需要 շարունակել աշխատանքը առանց բացառություն ցուցադրելու, ապա այն պետք է բռնել try-except կոնստրուկցիայի օգնությամբ: Այն ունի հետևյալ շարահյուսությունը:

pythontry:
  # կոդ, որն առաջացնում է բացառություն
except:
  # սխալի մշակում

try բլոկում պետք է տեղադրել այն կոդը, որը կարող է պարունակել բացառություն: Եթե հանկարծ այս կոդի կատարման ընթացքում առաջանա բացառական situatsia, ապա կոդի կատարումը չի կանգնի, այլ կանցնի except բլոկի կոդին: Այս բլոկում պետք է նշել հաղորդագրություն, որն առավելագույնս ճշտորեն նկարագրում է առաջացած սխալի էությունը:

Եթե try բլոկի կատարման ընթացքում ոչ մի բացառական situatsia չի առաջացել, ապա օգտակար կոդը պարզապես կկատարվի, իսկ կոդը except բլոկից - ոչ:

Եկեք բռնենք մեր բացառությունը 列表ի գոյություն չունեցող տարրին դիմելիս: Դրա համար try բլոկում կտեղադրենք պոտենցիալ սխալ պարունակող կոդը: Իսկ except բլոկում կնշենք 'error: elem is not exist' հաղորդագրության արտածումը կոնսոլում:

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

Կոդի կատարումից հետո կցուցադրվի.

python'error: elem is not exist'

try-except կոնստրուկցիան ուսումնասիրելուց հետո ձեր գրած կոդի ոճը պետք է փոխվի: Այժմ բոլոր այն տեղերը, որտեղ կարող է առաջանալ բացառական situatsia, պետք է փաթաթել try-ի մեջ, իսկ except բլոկում գրել արձագանքը այս բացառությանը:

Задание 1

Հարցրեք օգտատիրոջից երկու թիվ: Բաժանեք մեկը մյուսի վրա: Բռնեք զրոյի վրա բաժանման բացառական situatsian:

Задание 2

Հարցրեք օգտատիրոջից թիվ: Գտեք այդ թվի քառակուսի արմատը: Բռնեք բացառական situatsian բացասական թվից արմատ հանելիս:

Задание 3

Տրված է 列表: Հարցրեք օգտատիրոջից ամբողջ թիվ: Ստացեք 列表ի այն տարրը, որի համարը մուտքագրել է օգտատերը: Բռնեք բացառական situatsian, որը կառաջանա, եթե օգտատերը մուտքագրել է 列表ի տիրույթից դուրս գտնվող թիվ:

Задание 4

Տրված է հետևյալ կոդը.

pythonnum = '5'
res = num + 2

print(res)

Ի՞նչ է այնքան այս կոդում: Ուղղեք դրա Բացակայությունները:

Задание 5

Տրված է հետևյալ կոդը.

pythonlst = [1, 2, 3, 4]

def getElem(iter):
  print(iter[4])

getElem(lst)

Ի՞նչ է այնքան այս կոդում: Ուղղեք դրա Բացակայությունները: