⊗pyPmExcInr 74 of 129 menu

Introduktion til undtagelser i Python

I dette afsnit vil undtagelser i Python blive drøftet. Til at starte med er det nødvendigt at forstå, hvad de er.

Når man skriver et hvilket som helst program, forventer udvikleren implicit, at alle de anvendte software-tekniske mekanismer vil fungere korrekt.

Dette er dog ikke altid tilfældet. Under datatransmission over netværket opstår der forbindelsesafbrydelser, og data ankommer til os i en ukorrekt form, eller slet ikke. Ved skrivning af en fil viser det sig, at pladsen på harddisken er opbrugt, og filen kan ikke gemmes. Ved læsning af en fil viser det sig, at filen ikke eksisterer, og der er intet sted at læse fra. Ved udskrivning af data til printeren opstår der en kabelafbrydelse, der forbinder printeren og computeren.

Alle de beskrevne situationer har en fælles kerne: der opstår en fejl, der fører til umuligheden eller meningsløsheden af at fuldføre den planlagte handling.

Der er også situationer, hvor der opstår en fejl, som ikke er en nedbrud. For eksempel spørger du brugeren om deres email, og de indtaster en email i et ukorrekt format. Det er klart, at vores program ikke kan fortsætte med at behandle emailen, fordi den ikke er korrekt. Men ikke desto mindre er dette ikke en undtagelsestilstand. Vores program kan selv rette situationen: den vil vise en fejlmeddelelse, og brugeren kan gentage deres indtastning.

Faktisk er forskellen mellem en nedbrud og ikke-nedbrud ret flydende. En hændelse, som et program kan tolke som en undtagelse, kan et andet program tolke som en fejl, den kan håndtere.

Kriteriet her er følgende: hvis programmet kan fortsætte med at udføre det, det er designet til, efter at problemet er opstået, så er det ikke en undtagelse, men hvis det ikke kan - så ja, det er en undtagelse.

For eksempel, vi har et program, som skal spørge om brugerens email. Hvis brugeren indtaster emailen i et ukorrekt format - er det ikke en nedbrud. Det er et forventet problem, og vores program vil spørge brugeren om emailen så mange gange, indtil den indtastes korrekt.

Lad os sige, at vores program, som spørger om email, også skal sende denne korrekte email over internettet. Det viser sig så, at internettet ikke virker. Dette er derimod et problem: programmet kan på ingen måde sende data over internettet, hvis internettet ikke virker. Programmet kan ikke desto mindre fortsætte sin udførelse: det kan vise information om problemet, gentage forsøget på at sende efter et stykke tid, osv. Men disse handlinger er ikke helt det, programmet var designet til, da den primære handling - at sende emailen - ikke kan udføres.

Derfor afhænger fortolkningen af, hvilken adfærd der betragtes som normal, og hvilken der betragtes som undtagelsestilstand, meget ofte af de opgaver, programmøren står overfor.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis