⊗pyPmExcDTC 77 of 129 menu

Прихващане на различни типове изключения в Python

В един и същ код може да се наложи прихващане на различни типове изключения.

Да предположим, че трябва да хванем изключение при деление на нула. При такава грешка се появява изключение:

ZeroDivisionError: division by zero

За да го хванем, името на изключението трябва да бъде записано в блока except:

try: print(1 / 0) except ZeroDivisionError: print('error: do not divide by zero')

Нека имаме и следния списък:

lst = [1, 2, 3]

Ако в блока try се постави код с друга потенциална грешка, например с извеждане на несъществуващ елемент, то изключението, което не е прихванато в блока except, ще продължи напред и ще се изведе в конзолата. Поради това работата на кода ще спре:

lst = [1, 2, 3] try: print(lst[4]) # ще изведе IndexError: list index out of range except ZeroDivisionError: print('error: do not divide by zero')

За решаване на такава ситуация, трябва да се посочи във всеки блок името на съответния тип изключения. Нека добавим в нашия код изключение за липсващ елемент:

try: print(lst[4]) except ZeroDivisionError: print('error: do not divide by zero') except IndexError: print('error: elem does not exist')

Даден е следният код:

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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне