Բացառությունների բռնումը Python-ում
Python-ը այլ ծրագրավորման լեզուների համեմատությամբ ունի շատ更多 situatsions, որոնք առաջացնում են բացառություններ:
Եկեք մանրամասն ուսումնասիրենք դրանք: Ենթադրենք ունենք 列表:
lst = [1, 2, 3]
Դիմենք 列表ի գոյություն չունեցող տարրին:
print(lts[4])
Կոդի կատարումից հետո կցուցադրվի սխալ (բացառություն):
IndexError: list index out of range
Եթե մենք 需要 շարունակել աշխատանքը առանց բացառություն ցուցադրելու, ապա այն պետք է բռնել
try-except կոնստրուկցիայի օգնությամբ: Այն ունի հետևյալ շարահյուսությունը:
try:
# կոդ, որն առաջացնում է բացառություն
except:
# սխալի մշակում
try բլոկում պետք է տեղադրել այն կոդը,
որը կարող է պարունակել բացառություն: Եթե
հանկարծ այս կոդի կատարման ընթացքում առաջանա
բացառական situatsia, ապա կոդի կատարումը
չի կանգնի, այլ կանցնի except բլոկի կոդին:
Այս բլոկում պետք է նշել հաղորդագրություն, որն առավելագույնս
ճշտորեն նկարագրում է առաջացած սխալի էությունը:
Եթե try բլոկի կատարման ընթացքում
ոչ մի բացառական situatsia չի առաջացել,
ապա օգտակար կոդը պարզապես կկատարվի, իսկ կոդը
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 կոնստրուկցիան ուսումնասիրելուց հետո
ձեր գրած կոդի ոճը պետք է փոխվի:
Այժմ բոլոր այն տեղերը, որտեղ կարող է առաջանալ
բացառական situatsia, պետք է փաթաթել
try-ի մեջ, իսկ except բլոկում
գրել արձագանքը այս բացառությանը:
Հարցրեք օգտատիրոջից երկու թիվ: Բաժանեք մեկը մյուսի վրա: Բռնեք զրոյի վրա բաժանման բացառական situatsian:
Հարցրեք օգտատիրոջից թիվ: Գտեք այդ թվի քառակուսի արմատը: Բռնեք բացառական situatsian բացասական թվից արմատ հանելիս:
Տրված է 列表: Հարցրեք օգտատիրոջից ամբողջ թիվ: Ստացեք 列表ի այն տարրը, որի համարը մուտքագրել է օգտատերը: Բռնեք բացառական situatsian, որը կառաջանա, եթե օգտատերը մուտքագրել է 列表ի տիրույթից դուրս գտնվող թիվ:
Տրված է հետևյալ կոդը.
num = '5'
res = num + 2
print(res)
Ի՞նչ է այնքան այս կոդում: Ուղղեք դրա Բացակայությունները:
Տրված է հետևյալ կոդը.
lst = [1, 2, 3, 4]
def getElem(iter):
print(iter[4])
getElem(lst)
Ի՞նչ է այնքան այս կոդում: Ուղղեք դրա Բացակայությունները: