Տարբեր տիպի բացառությունների բռնում Python-ում

Միևնույն կոդում կարող է անհրաժեշտ լինել բռնել տարբեր տիպի բացառություններ:

Ենթադրենք, մեզ անհրաժեշտ է բռնել զրոյի վրա բաժանման բացառությունը: Նմանատիպ սխալի դեպքում առաջանում է բացառություն:

errorZeroDivisionError: division by zero

Այն բռնելու համար բացառության անունը պետք է գրվի except բլոկում:

pythontry:
  print(1 / 0)
except ZeroDivisionError:
  print('սխալ. մի՛ բաժանիր զրոյի վրա')

Ենթադրենք նաև, որ ունենք ցանկ.

pythonlst = [1, 2, 3]

Եթե try բլոկում գրել կոդ՝ այլ պոտենցիալ սխալով, օրինակ՝ գոյություն չունեցող տարր դուրս բերելը, ապա բացառությունը, որը չի բռնվել except բլոկում, կանցնի հետագա և կտպվի կոնսոլում: Դրա հետևանքով կանգնեցվում է կոդի աշխատանքը.

pythonlst = [1, 2, 3]
try:
  print(lst[4]) # կտպի IndexError: list index out of range
except ZeroDivisionError:
  print('սխալ. մի՛ բաժանիր զրոյի վրա')

Նման իրավիճակը լուծելու համար անհրաժեշտ է նշել յուրաքանչյուր բլոկում բացառության համապատասխան տիպի անունը: Ավելացնենք մեր կոդին բացակայող տարրի բացառությունը.

pythontry:
  print(lst[4])
except ZeroDivisionError:
  print('սխալ. մի՛ բաժանիր զրոյի վրա')
except IndexError:
  print('սխալ. տարրը գոյություն չունի')
Задание 1

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

pythontxt = '2'

res1 = txt + 3
res2 = txt1

Գրեք կոդ, որպեսզի բռնեք res1 և res2 փոփոխականներում ներկայացված բացառությունները: