Пайтонда турли хил истисноларни ушлаш
Худди шу кодда турли хил истисноларни ушлаш зарур бўлиши мумкин.
Фароз қилайлик, нолга бўлишдаги истиснони ушлашимiz керак. Бундай хил хатоларда quyidagi истисно чиқади:
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 ўзгаргувчиларида
келтирилган истисноларни ушлаш учун код ёзинг.