Unntak og feil

Ofte oppstår det unntak («exception») eller feil («error») i et program.

Disse må håndteres riktig hvis man vil være sikker på at programmet ikke avslutter brått og ødelegger for brukeren.

Et enkelt eksempel:

resultat = 10/0
# gir: 'ZeroDivisionError: division by zero'

Her forsøker man å dele på null, da vil programmet avslutte brått.

I stedet må man fange opp problemet – et eksempel:

try:
   resultat = 10/0
except ZeroDivisionError:
   print("Dele på null er tull!")
   # skriver ut 'Dele på null er tull!' i terminalen

Her får man i stedet en beskjed om at deling på null er tull. Programmet kan derfor fortsette å kjøre, man kan be om en ny verdi fra bruker o.s.v..

I tillegg til å fange opp problemet, kan man også ha funksjonalitet som kjører kun hvis operasjonen gikk bra.

Eksempel:

try:
   gjørViktigArbeid() # utfører noe meget kritisk
except Error:
   rullTilbake() # det gikk i dass så vi fjerner alle endringer
else:
   lagre() # Puuh, det gikk bra så vi lagrer alle endringer

Her har man løsninger for både når ting går som planlagt, og når de ikke gjør det.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *