⊗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. В този блок трябва да се пропише извеждане на съобщение, което възможно най-точно описва същността на възникналата грешка.

Ако при изпълнение на блока 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)

Какво не е наред с този код? Коригирайте недостатъците му.

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

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

Какво не е наред с този код? Коригирайте недостатъците му.

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