Et unntak er en hendelse som oppstår under utførelsen av et program for å avslutte eller endre den normale strømmen av et program. En feil reiser for eksempel et unntak. Som andre programmeringsspråk inneholder Python mange innebygde unntak. Disse unntakene reises hvis det oppstår en feil når programmet blir utført. Feiltypen bestemmer hvilket unntak som skal heves. Når et unntak inntreffer, sjekker Python -tolken om unntaket håndteres; Hvis ikke, avslutter det programmet. Denne artikkelen forklarer unntak i Python gjennom forskjellige eksempler.
Innebygde Python-unntak
Som diskutert tidligere, har Python mange innebygde unntak som blir reist når det oppstår en feil under utførelsen av et program. Hvert unntak er avledet fra en "unntak" baseklasse. Følgende inkluderer noen innebygde Python-unntak, sammen med en kort beskrivelse av hver unntakstype:
Unntak | Beskrivelse |
---|---|
Unntak | Hvert unntak er avledet fra denne klassen. |
Importerror | Dette unntaket blir reist når en spesifikk modul importeres, og den blir ikke funnet. |
Eoferror | Dette er unntaket av filen. Dette unntaket oppstår når slutten av filen er nådd. |
ZerodisionError | Dette unntaket heves når et tall er delt med null. |
KeyError | Dette unntaket blir reist hvis en viss nøkkel som ikke er definert i en ordbok er spesifisert eller brukt. |
Indekserror | Dette unntaket blir reist når tilgang til en indeks for sekvens som ikke er i området, er forsøkt. |
FloatingPointerror | Dette unntaket blir reist når en flytende punktoperasjon mislykkes. |
Dette er noen av de innebygde unntakene i Python. Vennligst besøk den offisielle dokumentasjonen for mer informasjon om bruk av innebygde unntak i Python, som ligger på https: // docs.Python.org/3/bibliotek/unntak.html.
Unntaksbruk i Python
Unntak i Python håndteres ved hjelp av Try -setningen. Kodestykket som kan kaste eller heve et unntak implementeres i en prøveblokk. Ved siden av prøveblokken implementeres en unntatt blokk for å håndtere unntaket. I unntatt blokken fanger vi unntaket og bestemmer hvilken operasjon vi skal utføre når vi møter det spesielle unntaket. Syntaksen ved å skrive forsøket og unntatt blokker er som følger:
prøve:Nå vil vi implementere en enkel kode i Python -skriptet vårt ved hjelp av Try and Wards Blocks.
Her skriver vi ut en "navn" -variabel som ikke er definert. Dette reiser et unntak i unntatt blokken.
#Implementering av prøveblokkenProduksjon
Hvis det ikke oppstår noe unntak, blir bare prøveblokken utført. I unntatt blokken skrives det ut en uttalelse om at et unntak har skjedd.
La oss se på et annet eksempel der vi definerer navnevariabelen:
#definering av variabelen NavnProduksjon
I eksemplet ovenfor blir prøveblokken utført og unntatt blokken hoppes over fordi programmet ikke reiser noen unntak. Vi kan definere så mange unntatt blokker i programmet vårt som vi vil. Hver unntatt blokkering håndterer en bestemt type unntak.
#Implementering av prøveblokkenProduksjon
I Python er unntak baseklassen for alle unntak. I stedet for å skrive navnet på et bestemt unntak i unntatt blokken, kan vi ganske enkelt skrive "unntak" og fange alle typer unntak på denne måten.
#Implementering av prøveblokkenProduksjon
Exp.__Class__ Returnerer navnet på unntaksklassen.
Tilsvarende, la oss se på et eksempel på "ZerodivisionError" -klassen.
#Implementering av prøveblokkenProduksjon
Den andre blokken
Annenblokken brukes med prøve- og unntaksblokker. Eenta -blokken definerer et stykke kode som utføres hvis prøveblokken utføres vellykket og ingen feil oppstår. Noen ganger kan det hende du må skrive ut en melding eller utføre en funksjon når prøveblokken er blitt utført. Av denne grunn kan vi implementere den andre blokken med forsøket og unntatt blokker.
I dette eksemplet vil vi implementere den andre blokken i Python -skriptet vårt.
#Implementering av prøveblokkenProduksjon
Annets blokkering utføres etter vellykket utførelse av forsøksblokken.
La oss nå se på et annet eksempel ved å bruke andre blokkering.
#Implementering av prøveblokkenProduksjon
I eksemplet ovenfor er navnevariabelen definert inne i prøveblokken og skrives ut i andre blokkering.
Den endelig blokkeringen
De endelig Block inneholder kodestykket som må utføres uavhengig av om prøveblokken reiser et unntak. Den endelig blokken er valgfri og erklært med prøveblokken. For eksempel, hvis vi har åpnet en tekstfil for å lese prøveblokken og den reiser en feil eller unntak, er det bedre å legge ved filen i den endelig blokken, selv om feilen oppstår. La oss implementere den endelig blokkeringen i Python -skriptet vårt.
#Implementering av prøveblokkenProduksjon
I utgangen kan det sees at prøveblokken reiser et unntak. Imidlertid utføres den endelig blokken på slutten.
La oss nå åpne en tekstfil i prøveblokken, som reiser et unntak mens filen vedtok i den endelig blokken.
#Implementering av prøveblokkenProduksjon
Som du kan se, uavhengig av verdifeil, har filen blitt lukket med suksess inne i den endelig blokken.
Hev et unntak
Selv om unntak blir reist automatisk når en feil oppstår, i Python, kan du også heve unntak manuelt. De heve Nøkkelord brukes til å heve eller kaste unntaket.
Vi vil nå heve noen unntak ved å bruke Raise nøkkelordet. I det følgende eksempel implementeres IF-tilstanden for å se etter ikke-negative tall. Hvis det ikke er noen som ikke er negative tall, blir unntaket “ikke-negative tall ikke tillatt” hevet.
#Declaring to tallvariablerProduksjon
Konklusjon
Et unntak oppstår som svar på en feil ved kjøretid. I Python kan vi håndtere unntak ved å bruke forsøk og unntatt blokker. Denne artikkelen forklarte hvordan du bruker unntak i Python gjennom forskjellige eksempler.