Python

Изключение на Python

Изключение на Python

Изключение е събитие, което възниква по време на изпълнението на програма за прекратяване или промяна на нормалния поток на програма. Грешка например поражда изключение. Подобно на други езици за програмиране, Python съдържа много вградени изключения. Тези изключения се пораждат, ако при изпълнението на програмата се срещне грешка. Типът грешка определя кое изключение ще бъде повдигнато. Когато възникне изключение, интерпретаторът на Python проверява дали изключението се обработва; ако не, то прекратява програмата. Тази статия обяснява изключенията в Python чрез различни примери.

Вградени изключения на Python

Както беше обсъдено по-рано, Python има много вградени изключения, които се появяват, когато възникне грешка по време на изпълнението на програма. Всяко изключение се извлича от основен клас „Изключение“. По-долу са включени някои вградени изключения на Python, заедно с кратко описание на всеки тип изключение:

Изключение Описание
Изключение Всяко изключение е получено от този клас.
ImportError Това изключение се повдига, когато се импортира конкретен модул и той не е намерен.
EOFError Това е изключението в края на файла. Това изключение възниква при достигане на края на файла.
ZeroDivisionError Това изключение се повдига, когато число се дели на нула.
KeyError Това изключение се повдига, ако се посочи или използва определен ключ, който не е дефиниран в речника.
IndexError Това изключение се повдига, когато се опитва достъп до индекс на последователност, който не е в обхвата.
FloatingPointError Това изключение се повдига, когато операцията с плаваща запетая е неуспешна.

Това са някои от вградените изключения в Python. Моля, посетете официалната документация за повече информация относно използването на вградени изключения в Python, намираща се на https: // docs.питон.org / 3 / библиотека / изключения.html.

Използване на изключение в Python

Изключенията в Python се обработват с помощта на инструкцията try. Кодът, който може да хвърли или предизвика изключение, е реализиран в блок за опит. До блока try се прилага блок освен за обработка на изключението. В блока освен хващаме изключението и решаваме каква операция да извършим, когато срещнем това конкретно изключение. Синтаксисът на писане на блокове try и освен е следният:

опитвам:
изпълнете операцията или функцията
с изключение:
функционалност за обработка на изключението

Сега ще приложим прост код в нашия Python скрипт, като използваме блоковете try и освен.

Тук ще отпечатаме променлива „name“, която не е дефинирана. Това поражда изключение в блока освен.

#implementing the try block
опитвам:
печат (име)
#implementing the exclu block
с изключение:
print ("Възникна изключение")

Изход

Ако не възникне изключение, тогава се изпълнява само блокът try. В блока освен се отпечатва изявление, че е възникнало изключение.

Нека разгледаме друг пример, където дефинираме променливата на името:

#defining the name променлива
name = "Маркиране"
#implementing the try block
опитвам:
печат (име)
#implementing the exclu block
с изключение:
print ("Възникна изключение")

Изход

В горния пример блокът try се изпълнява и блокът Освен се пропуска, тъй като програмата не създава изключения. Можем да дефинираме колкото искаме освен блокове в нашата програма. Всеки блок освен обработва специфичен вид изключение.

#implementing the try block
опитвам:
печат (име)
#implementing the exclu block за улавяне на грешката в името
с изключение на NameError:
print ("Променливата не е дефинирана")
#implementing the exclu block
с изключение:
print ("Нещо се обърка освен грешка в името")

Изход

В Python, Exception е основният клас за всички изключения. Вместо да напишем името на конкретно изключение в блока с изключение, можем просто да напишем „Изключение“ и да уловим всеки тип изключение по този начин.

#implementing the try block
опитвам:
печат (име)
#implementing the exclu block за улавяне на грешката
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing the exclu block
с изключение:
print ("Нещо се обърка, освен грешка в името")

Изход

Експ.__class__ връща името на класа на изключение.

По същия начин, нека разгледаме пример за класа „ZeroDivisionError“.

#implementing the try block
опитвам:
x = 1/0
печат (x)
#implementing the exclu block за улавяне на грешката
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing the exclu block
с изключение:
print ("Нещо се обърка, освен грешка в името")

Изход

Блокът else

Блокът else се използва с блоковете за опит и изключение. Блокът else определя парче код, който се изпълнява, ако блокът try се изпълни успешно и не възникне грешка. Понякога може да се наложи да отпечатате съобщение или да изпълните функция, когато опитният блок е изпълнен успешно. Поради тази причина можем да приложим блока else с блоковете try и освен.

В този пример ще приложим блока else в нашия Python скрипт.

#implementing the try block
опитвам:
x = 1/2
печат (x)
#implementing the exclu block за улавяне на грешката
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing else блок
друго:
print ("Всичко мина добре")

Изход

Блокът else се изпълнява след успешното изпълнение на блока try.

Нека сега разгледаме друг пример, използващ блока else.

#implementing the try block
опитвам:
name = "Маркиране"
#implementing the exclu block за улавяне на грешката
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing else блок
друго:
print ("Името е:", име)

Изход

В горния пример променливата на името се дефинира вътре в блока try и се отпечатва в блока else.

Последният блок

The накрая block съдържа парчето код, което трябва да бъде изпълнено, независимо дали блокът try предизвиква изключение. Блокът final не е задължителен и се декларира с блока try. Например, ако сме отворили текстов файл, за да прочетем блока try и това води до грешка или изключение, по-добре е да приложите файла в блока final, дори ако грешката възникне. Нека приложим окончателния блок в нашия скрипт на Python.

#implementing the try block
опитвам:
печат (my_dict)
#implementing the exclu block за улавяне на грешката
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing окончателния блок
накрая:
print ("Това е последният блок")
print ("Най-накрая блокът е изпълнен")

Изход

В изхода може да се види, че блокът try предизвиква изключение. Блокът final обаче се изпълнява в края.

Сега нека отворим текстов файл в блока try, което поражда изключение, докато файлът е затворен в блока final.

#implementing the try block
опитвам:
fileObj = отворен ("mystudent.xml "," r ")
fileObj.търся (-2)
print (fileObj.прочетени линии ())
#implementing the exclu block
с изключение на изключение като exp:
печат (exp.__клас__)
#implementing окончателния блок
накрая:
fileObj.близо()
print ("Файлът е успешно затворен")

Изход

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

Направете изключение

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

Сега ще повдигнем някои изключения с помощта на ключовата дума rise. В следващия пример се изпълнява условието if за проверка на неотрицателни числа. Ако съществуват някакви неотрицателни числа, тогава се повдига изключението „Неотрицателните числа не са разрешени“.

#declaring две числови променливи
num1 = 20
num2 = -10
if ((num1<0) | (num2<0)):
повишаване на изключение („Неотрицателните числа не са разрешени“)
друго:
печат (num1 + num2)

Изход

Заключение

Изключение възниква в отговор на грешка по време на изпълнение. В Python можем да обработваме изключения, като използваме блоковете try и освен. Тази статия обяснява как се използват изключения в Python чрез различни примери.

Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...
Курсорът скача или се движи произволно, докато пишете в Windows 10
Ако установите, че курсорът на вашата мишка скача или се движи самостоятелно, автоматично, произволно, докато пишете в лаптоп или компютър на Windows,...
Как да обърнете посоката на превъртане на мишката и тъчпада в Windows 10
Мишка и Тъчпадs не само правят изчисленията лесни, но и по-ефективни и отнемат по-малко време. Не можем да си представим живот без тези устройства, но...