Съдържание
Когато правим програма, много пъти има ситуации, в които потребителят може да предизвика необичайно поведение на нашия алгоритъм, особено когато зависим от въвеждането на данни от споменатия потребител, за това много езици за програмиране прилагат изключения като механизъм за предотвратяване на експлозията на нашата програма и неуспех, създавайки по -лоша ситуация, излагайки чувствителни данни на обществеността.Какво е изключение?
В Python изключение е обект, който, ако не бъде обработен по някакъв начин, води до края на програмата и показва a проследи на грешката, която е причинила това изключение, пример за това как изглежда едно изключение в a Python Можем да го видим на следната екранна снимка:
Въпреки че това изключение е много основен пример, той ни дава доста важна теоретична основа, показва, че е екземпляр от някакъв клас и тези случаи могат да бъдат генерирани и заснети по различни начини, което позволява да се улови грешката и да се направи нещо в рамките на поток на програмата, като по този начин се избягва внезапното й прекратяване, с което нашата програма би била много по -стабилна.
Повишаване на изключение
Както видяхме в предишните параграфи, изключенията се повдигат автоматично в много случаи, но можем да ги повдигнем и сами, за да получим по -голям контрол върху програмата.
За да повдигнем изключение използваме командата повишавам който приема като аргумент или клас, или обект, когато използваме клас, негов екземпляр се генерира автоматично, дори можем да използваме аргумент от низов тип след класа, разделен със запетая.
Нека да видим някои примери за използване на класа, включен в Python на име Изключение :
С този код можем да издигнем изключение:
>>> повишаване на проследяване на изключение (последно последно повикване): Файл "", ред 1, в? Изключение
Ние просто се обаждаме повишавам и преминахме класа ИзключениеКакто виждаме, изобщо не е сложно, нека видим още някои кодове.
>>> повдигнете Изключение, 'хипердиск претоварване' Traceback (последно последно повикване): Файл "", ред 1, в? Изключение: претоварване на хипердвигателя
В тези два допълнителни случая предаваме допълнителен параметър от тип string, както виждаме, можем да го направим или чрез разделяне със запетая, или като аргумент на класа.
Нека да видим списък с някои от изключенията, които идват по подразбиране в Python:
- Изключение: Коренният клас за всички изключения.
- AttributeError: Повишава се, когато препратка или присвояване на атрибут се провали.
- IOError: Повишава се при опит за отваряне на файл, който не съществува.
- IndexError: Повишава се, когато се използва несъществуващ индекс или последователност.
- KeyError: Повишава се при картографиране на несъществуващ ключ.
- Име Грешка: Повишава се, когато името на променлива не е намерено.
- Синтактична грешка: Повишава се, когато кодът е лошо оформен.
- TypeError: Повишава се, когато операция или функция е приложена към обект от грешен тип.
- ValueError: Както в предишния случай, но вместо да се прилага за типа, той се прилага за стойността на обекта.
- ZeroDivisionerror: Повишава се, когато вторият аргумент на деление е нула.
Въпреки че изключенията влизат Python Те вече обхващат обширно поле във функционалностите, от които може да се нуждаем, има моменти, когато просто трябва да създадем свои собствени изключения, за да се съобразяваме с нашите програми, нека видим пример:
клас SomeCustomException (Exception): пас
Ние просто създаваме клас като всеки друг и след това наследяваме от класа Изключение за да създадем нашето персонализирано изключение.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка