Satura rādītājs
Kad mēs veidojam programmu, daudzas reizes ir situācijas, kurās lietotājs var izraisīt mūsu algoritma neparastu uzvedību, it īpaši, ja esam atkarīgi no minētā lietotāja datu ievades, jo daudzas programmēšanas valodas ievieš izņēmumus kā mehānisms, lai novērstu mūsu programmas eksplodēšanu un nespēju radīt sliktāku situāciju, atklājot sabiedrībai sensitīvus datus.Kas ir izņēmums?
In Python izņēmums ir objekts, kas, ja kaut kādā veidā netiek apstrādāts, noved pie programmas beigām un parāda a izsekot kļūdas, kas izraisīja šo izņēmumu, piemērs tam, kā izņēmums izskatās a Python Mēs to varam redzēt šajā ekrānuzņēmumā:
Lai gan šis izņēmums ir ļoti vienkāršs piemērs, tas dod mums diezgan svarīgu teorētisko pamatu, tas norāda, ka tas ir kādas klases piemērs, un šos gadījumus var ģenerēt un uztvert dažādos veidos, ļaujot fiksēt kļūdu un kaut ko darīt programmas plūsmu, tādējādi izvairoties no tās pēkšņas pārtraukšanas, ar kuru mūsu programma būtu daudz stabilāka.
Izņēmuma izvirzīšana
Kā redzējām iepriekšējos punktos, daudzos gadījumos izņēmumi tiek izvirzīti automātiski, tomēr mēs varam tos arī paaugstināt, lai iegūtu lielāku kontroli pār programmu.
Lai radītu izņēmumu, mēs izmantojam komandu paaugstināt kas par argumentu uzskata vai nu klasi, vai objektu, ja mēs izmantojam klasi, tās eksemplārs tiek automātiski ģenerēts, mēs pat varam izmantot virknes tipa argumentu pēc klases atdalīšanas ar komatu.
Apskatīsim dažus piemērus, izmantojot klasi, kas iekļauta Python nosaukts Izņēmums :
Ar šo kodu mēs varam izvirzīt izņēmumu:
>>> paaugstināt izņēmuma izsekošanu (pēdējais zvans): Fails "", 1. rinda, in? Izņēmums
Mēs vienkārši zvanām paaugstināt un mēs izturējām klasi IzņēmumsKā redzam, tas nemaz nav sarežģīti, apskatīsim vēl dažus kodus.
>>> paaugstināt izņēmumu, 'hiperpiedziņas pārslodze' Traceback (pēdējais pēdējais zvans): Fails "", 1. rinda, in? Izņēmums: hiperpiedziņas pārslodze
Šajos divos papildu gadījumos mēs nododam papildu virknes parametru, kā redzam, mēs to varam izdarīt, atdalot ar komatu vai kā klases argumentu.
Apskatīsim sarakstu ar dažiem izņēmumiem, kas iekļauti pēc noklusējuma Python:
- Izņēmums: Sakņu klase visiem izņēmumiem.
- Atribūta kļūda: Tiek paaugstināts, ja atsauces vai atribūta piešķiršana neizdodas.
- IOError: Celta, mēģinot atvērt failu, kas neeksistē.
- Indeksa kļūda: Tiek paaugstināts, ja tiek izmantots neeksistējošs indekss vai secība.
- Atslēgas kļūda: Tiek paaugstināts, kad tiek kartēta neesoša atslēga.
- NameError: Tiek paaugstināts, ja nav atrasts mainīgā nosaukums.
- Sintakses kļūda: Tiek paaugstināts, ja kods ir slikti izveidots.
- Tipa kļūda: Tiek paaugstināts, ja operācija vai funkcija tiek piemērota nepareiza tipa objektam.
- ValueError: Tāpat kā iepriekšējā gadījumā, bet tā vietā, lai piemērotu tipam, tas attiecas uz objekta vērtību.
- ZeroDivisionerror: Tiek izvirzīts, ja dalījuma otrais arguments ir nulle.
Lai gan izņēmumi, kas iekļaujas Python Tie jau aptver plašu jomu funkcijās, kas mums varētu būt vajadzīgas; ir gadījumi, kad mums vienkārši jāizveido savi izņēmumi, lai tie atbilstu mūsu programmām. Apskatīsim piemēru:
klase SomeCustomException (izņēmums): nokārtot
Mēs vienkārši izveidojam klasi, tāpat kā jebkuru citu, un tad mantojam no klases Izņēmums lai izveidotu mūsu pielāgoto izņēmumu.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu