Python-da müxtəlif tip istisnaların tutulması
Eyni kod daxilində müxtəlif tip istisnaları tutmaq lazım gələ bilər.
Tutaq ki, sıfıra bölmə xətası baş verəndə istisnanı tutmaq istəyirik. Bu cür xəta baş verəndə aşağıdakı istisna yaranır:
ZeroDivisionError: division by zero
Onu tutmaq üçün, istisnanın adını
except blokunda qeyd etmək lazımdır:
try:
print(1 / 0)
except ZeroDivisionError:
print('xəta: sıfıra bölmə')
Həmçinin tutaq ki, bizim bir siyahımız var:
lst = [1, 2, 3]
Əgər try blokunda başqa potensial
xəta olan kod yazsaq, məsələn, mövcud olmayan
elementi çıxarmaq kimi, onda except
blokunda tutulmayan istisna daha da irəli
keçəcək və konsola çıxılacaq. Nəticədə
kodun işi dayanacaq:
lst = [1, 2, 3]
try:
print(lst[4]) # IndexError: list index out of range çıxardacaq
except ZeroDivisionError:
print('xəta: sıfıra bölmə')
Bu vəziyyəti həll etmək üçün, hər bir blokda müvafiq tip istisnanın adını göstərmək lazımdır. Gəlin kodumuza mövcud olmayan element üçün istisna əlavə edək:
try:
print(lst[4])
except ZeroDivisionError:
print('xəta: sıfıra bölmə')
except IndexError:
print('xəta: element mövcud deyil')
Aşağıdakı kod verilmişdir:
txt = '2'
res1 = txt + 3
res2 = txt1
res1 və res2 dəyişənlərində
təqdim olunan istisnaları tutmaq üçün kod yazın.