Каталарды иштетүү (try / except)
Бир нерсе туура эмес болгондо программаны кантип тынч сактоо керек
"cat" деген сөздү санга айландыруу. Адатта программа кулап, токтоп калат. try / except менен сен ошол көйгөйдү кармап, программаны иштей берүүгө коё аласың, коркунучтуу катанын ордуна түшүнүктүү билдирүү көрсөтүп.
- өзгөчө абал (иштөө учурундагы ката) деген эмне экенин түшүндүрө аласың,
- катаны кармоо үчүн
try / exceptблогун жаза аласың, - туура катаны, мисалы
ValueErrorжеZeroDivisionError, кармай аласың, - программаны кулатпай, жумшак аяктата турган кыла аласың.
1. Өзгөчө абал деген эмне?
Өзгөчө абал (exception) — бул программа иштеп жатканда болгон ката. Python сен сураган нерсени кыла албай турганын байкап, токтоп, traceback деп аталган ката билдирүүсүн басып чыгарат.
Мына коргоосуз кичинекей программа. Эгер адам бүтүн сан эмес нерсени тератса, ал бузулат:
number = int(input("Enter a number: "))
print("Double is", number * 2)
Эгер адам сандын ордуна cat терсе, Python мындай traceback менен кулайт:
Traceback (most recent call last):
File "program.py", line 1, in <module>
number = int(input("Enter a number: "))
ValueError: invalid literal for int() with base 10: 'cat'
Акыркы сап, ValueError, — өзгөчө абалдын аты. Ар бир катанын аты бар. Атын билсең, аны кармай аласың.
2. Салыштыруу: коопсуздук тору
Абада бийикте жип үстүндө басып бараткан адамды элестет. Көбүнчө ал жипти тынч кечип өтөт. Бирок тайгаланып кетсе, коопсуздук тору аны кармап калат, ал жабыркабайт — оюн уланат.
try — бул жип үстүндө бараткан сен. except — астыңдагы тор. Эч нерсе болбосо, тор колдонулбайт. Бирок тайгаланып кетсең (ката болсо), тор сени кармап, программа жерге кулабай, иштей берет.