FAGPORTALEN

Undtagelseshåndtering (try/except/finally)

It A · STX · A-niveau · Avanceret programmering

💻 Undtagelseshåndtering (try/except/finally)

Exceptions er hændelser der afbryder normal programafvikling.

Python-hierarki: BaseExceptionExceptionValueError, TypeError, IOError, KeyboardInterrupt osv.

Grundstruktur:

```python

try:

x = int(input("Skriv et tal: "))

resultat = 10 / x

except ValueError:

print("Ikke et tal!")

except ZeroDivisionError as e:

print(f"Division med nul: {e}")

else:

print(f"Resultat: {resultat}")

finally:

print("Kørte altid!") # cleanup-kode

```

else-blokken: kører kun hvis ingen exception opstod. finally-blokken: kører altid — brug til ressource-frigørelse (close filer, DB-forbindelser).

Custom exceptions: class MinFejl(Exception): pass. Giver semantisk mening til fejl i din kode.

Context managers (with): with open('fil.txt') as f: — automatisk close, selv ved undtagelse. Implementeret via __enter__/__exit__.

Best practices: fang specifikke undtagelser (aldrig bare except:), log undtagelser, gensmid med raise om nødvendigt.

Fail-fast princippet: afsløring fejl tidligt er bedre end stille fejl der propagerer.

Læringsmål

Sådan kan du arbejde med emnet

Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.