⊗pyPmExcDTC 77 of 129 menu

Гунаҳои гуногуни истисноҳоро дар 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 нишон додашударо қабз кунед.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан