Kukamata Aina Mbalimbali za Isipokuwa katika Python
Katika msimbo uo huo huweza kuhitajika kukamata aina mbalimbali za isipokuwa.
Tuchukulie tunahitaji kukamata isipokuwa wakati wa kugawanya kwa sifuri. Wakati wa hitilafu ya aina hii inatoka isipokuwa:
ZeroDivisionError: division by zero
Ili uikamate, jina la isipokuwa linapaswa
kuandikwa katika kipande cha except:
try:
print(1 / 0)
except ZeroDivisionError:
print('hitilafu: usigawanye kwa sifuri')
Pia tuchukulie tuna orodha:
lst = [1, 2, 3]
Kama utaweka katika kipande cha try msimbo wenye
hitilafu nyingine inayoweza kutokea, kwa mfano, na kutoa
kipengele kisichopo, basi isipokuwa,
isiyokamatwa katika kipande cha except, itapita
mbele na itatolewa kwenye konsoli. Jambo ambalo
litasimamisha utendakazi wa msimbo:
lst = [1, 2, 3]
try:
print(lst[4]) # itatoa IndexError: list index out of range
except ZeroDivisionError:
print('hitilafu: usigawanye kwa sifuri')
Ili kutatua hali kama hii, inahitajika kuonyesha katika kila kipande jina la aina inayofanana ya isipokuwa. Wacha tuongeze kwenye msimbo wetu isipokuwa kuhusu kipengele kilichokosekana:
try:
print(lst[4])
except ZeroDivisionError:
print('hitilafu: usigawanye kwa sifuri')
except IndexError:
print('hitilafu: kipengele hakipo')
Umeshauriwa msimbo ufuatao:
txt = '2'
res1 = txt + 3
res2 = txt1
Andika msimbo, ili ukamate zile zilizoonyeshwa
katika vigezo res1 na res2
isipokuwa.