Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Fange opp og håndtere unntak | Comprehensive Error Handling
Python Strukturert Programmering

Fange opp og håndtere unntak

Sveip for å vise menyen

Når du arbeider med filoperasjoner eller annen kode som kan støte på feil, er Pythons strukturerte feilhåndtering med try, except, else og finally-blokker avgjørende for å skrive robuste programmer. try-blokken inneholder kode som kan kaste et unntak. Hvis et unntak oppstår, kjøres except-blokken, slik at du kan håndtere feilen på en kontrollert måte. Hvis det ikke oppstår noe unntak, kjøres else-blokken, noe som gjør den egnet for kode som kun skal kjøres når alt i try-blokken lykkes. finally-blokken kjøres alltid, uavhengig av om det oppstod et unntak eller ikke, og er derfor ideell for oppryddingshandlinger som å lukke filer eller frigjøre ressurser. Som vist i videoen, hjelper denne strukturen deg med å skille mellom normal logikk, feilhåndtering og opprydding, noe som gir klarere og tryggere kode.

Python-feilhåndteringsblokker

  • try-blokken inneholder kode som kan kaste et unntak;
  • except-blokken fanger opp og håndterer unntak hvis de oppstår;
  • else-blokken kjøres kun hvis det ikke ble kastet noe unntak i try-blokken;
  • finally-blokken kjøres alltid, uansett om det oppstod et unntak eller ikke.
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 strukturen lar deg skille mellom normal logikk, feilhåndtering og oppryddingsoppgaver. Bruk try for kode som kan feile, except for å håndtere feil, else for vellykkede gjennomføringer, og finally for handlinger som alltid må utføres, som å lukke filer eller frigjøre ressurser.

question mark

Hvilket utsagn beskriver best rekkefølgen for utførelse av else- og finally-blokkene i en try, except, else, finally-struktur?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 2
some-alt