⊗pyPmExcCt 75 of 129 menu

Pythonда исключенияларни ушлаш

Pythonда бошка дастурлаш тилларига нисбатан жуда кўп исключенияларни келтириб чикарадиган вазиятлар мавжуд.

Келик, уларни батафсилрок кўриб чикайлик. Бизда рокъат мавжуд деб фараз килайлик:

lst = [1, 2, 3]

Рўйхатни мавжуд бўлмаган элементига мурожаат килайлик:

print(lts[4])

Кодни бажарилганидан сўнг хато (исключение) чикарилади:

IndexError: list index out of range

Агар бизга исключенияни чикаришсиз ишни давом эттириш лозим бўлса, уни try-except конструкцияси ёрдамида ушлаш керак. У куйидаги синтаксисга эга:

try: # исключения келтириб чикарадиган код except: # хатоликни карши олиш

try блокида исключенияни ўз ичига олиши мумкин бўлган кодни жойлаштириш керак. Агар бу кодни бажариш жараёнида исключиния вазият юз бериб қолса, кодни бажариш тўхтамайди, балки except блокининг кодига ўтади. Бу блокда юз берган хатоликни мүмкин кадар анiq тасвирловчи хабарни чикариш керак.

Агар try блокини бажариш жараёнида хич кандай исключиния вазиятлар юз бермаса, у холда фойдали код жуда осонгина бажарилади, except блокининг коди эса бажарилмайди.

Келик, рўйхатни мавжуд бўлмаган элементига мурожаат килишдаги исключениямизни ушлайлик. Бунинг учун try блокига хатолик юзага келиши мумкин бўлган кодни жойлаштирамиз. except блокида эса 'error: elem is not exist' консолга чикаришни кўрсатамиз:

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Код бажарилганидан сўнг куйидаги чикади:

'error: elem is not exist'

try-except конструкциясини ўрганиб олганингиздан сўнг сиз ёзган кодинг стили ўзгариши керак. Энди исключиния вазият юзага келиши мумкин бўлган барча жойларни try ичига ўраб қўйиш керак, except блокида эса бу исключенияга реакцияни ёзиш керак.

Фойдаланувчидан иккита сон сўранг. Уларни бир-бирига бўлинг. Нолга бўлишдаги исключиния вазиятни ушланг.

Фойдаланувчидан сон сўранг. Шу сондан иккинчи даражали илдизни топинг. Манфий сондан илдиз олишдаги исключиния вазиятни ушланг.

Рўйхат берилган. Фойдаланувчидан бутун сон сўранг. Фойдаланувчи киритган рақамдаги рўйхат элементини олинг. Агар фойдаланувчи рўйхат диапазонидан ташқаридаги сонни киритганда юз берадиган исключиния вазиятни ушланг.

Куйидаги код берилган:

num = '5' res = num + 2 print(res)

Бу кодда нима но tug'ri? Унинг камчиликларини тузатинг.

Куйидаги код берилган:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Бу кодда нима но tug'ri? Унинг камчиликларини тузатинг.

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