Python-да әртүрлі типтегі ерекше жағдайларды қарсы алу
Бір кодта әртүрлі типтегі ерекше жағдайларды қарсы алу қажет болуы мүмкін.
Нөлге бөлу кезінде туындайтын ерекше жағдайды қарсы алуды қажет делік. Осындай қате кезінде төмендегі ерекше жағдай шығады:
ZeroDivisionError: division by zero
Оны қарсы алу үшін, ерекше жағдайдың атауын
except блогында көрсету керек:
try:
print(1 / 0)
except ZeroDivisionError:
print('қате: нөлге бөлмеңіз')
Сондай-ақ бізде тізім бар делік:
lst = [1, 2, 3]
Егер try блогында басқа ықтимал қатесі
бар код жазатын болсақ, мысалы, жоқ элементті
шығаруға тырыссақ, онда except блогында
қарсы алынбаған ерекше жағдай әрі қарай өтіп,
консольге шығады. Бұл кодтың жұмысының тоқтауына
әкеп соғады:
lst = [1, 2, 3]
try:
print(lst[4]) # IndexError: list index out of range шығарады
except ZeroDivisionError:
print('қате: нөлге бөлмеңіз')
Мұндай жағдайды шешу үшін, әрбір блокта сәйкес типтегі ерекше жағдайдың атауын көрсету керек. Кодқа жоқ элемент бойынша ерекше жағдайды қосайық:
try:
print(lst[4])
except ZeroDivisionError:
print('қате: нөлге бөлмеңіз')
except IndexError:
print('қате: элемент жоқ')
Мына код берілген:
txt = '2'
res1 = txt + 3
res2 = txt1
res1 және res2 айнымалыларында
кескінделген ерекше жағдайларды қарсы алу үшін
код жазыңыз.