Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Fangst og Håndtering af Undtagelser | Comprehensive Error Handling
Python Strukturel Programmering

Fangst og Håndtering af Undtagelser

Stryg for at vise menuen

Når du arbejder med filoperationer eller anden kode, der kan støde på fejl, er Pythons strukturerede fejlhåndtering med try, except, else og finally blokke afgørende for at skrive robuste programmer. try-blokken indeholder kode, der kan udløse en undtagelse. Hvis der opstår en undtagelse, køres except-blokken, hvilket giver mulighed for at håndtere fejlen på en kontrolleret måde. Hvis der ikke opstår nogen undtagelse, udføres else-blokken, hvilket gør den velegnet til kode, der kun skal køre, når alt i try-blokken lykkes. finally-blokken udføres altid, uanset om der opstod en undtagelse eller ej, hvilket gør den ideel til oprydningshandlinger som at lukke filer eller frigive ressourcer. Som vist i videoen hjælper denne struktur med at adskille normal logik, fejlhåndtering og oprydning, hvilket resulterer i mere overskuelig og sikker kode.

Python-fejlhåndteringsblokke

  • try-blokken indeholder kode, der kan udløse en undtagelse;
  • except-blokken opfanger og håndterer undtagelser, hvis de opstår;
  • else-blokken køres kun, hvis der ikke blev udløst en undtagelse i try-blokken;
  • finally-blokken køres altid, uanset om der opstod en undtagelse eller ej.
123456789101112131415
filename = "example.txt" try: file = open(filename, "w") file.write("Hello, Python error handling!") except OSError as e: print("An error occurred while writing to the file:", e) else: print("File written successfully.") finally: try: file.close() print("File closed.") except Exception: print("File was never opened or already closed.")

Denne struktur gør det muligt at adskille normal logik, fejlhåndtering og oprydningsopgaver. Brug try til risikofyldt kode, except til håndtering af fejl, else til succesfuld gennemførelse og finally til handlinger, der altid skal udføres, såsom at lukke filer eller frigive ressourcer.

question mark

Hvilken påstand beskriver bedst rækkefølgen for udførelse af else- og finally-blokke i en try, except, else, finally-struktur?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 2
some-alt