Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende Feilbehandling i Python: Forhindre Programkrasj | Mestre Feilbehandling i Python
Quizzes & Challenges
Quizzes
Challenges
/
Python Strukturert Programmering

bookGrunnleggende Feilbehandling i Python: Forhindre Programkrasj

Feilhåndtering er en avgjørende ferdighet for enhver programmerer, da det gjør det mulig for programmene dine å reagere hensiktsmessig på uventede problemer. Dette kapittelet dekker hvilke typer feil og unntak du kan møte på, og hvordan du håndterer dem ved hjelp av try- og except-blokker.

Typer feil og unntak i Python

Python deler feil inn i to hovedtyper: syntaksfeil og unntak.

Syntaksfeil

Syntaksfeil oppstår når parseren oppdager en ugyldig setning. Dette kan være en skrivefeil, en manglende parentes eller feil innrykk. Her er et eksempel:

1
print("Hello world"
copy

Dette vil føre til en syntaksfeil (SyntaxError) fordi den avsluttende parentesen mangler.

Unntak eller kjøretidsfeil

Unntak er feil som oppdages under kjøring. Vanlige unntak inkluderer:

  • IndexError: forsøk på å få tilgang til en indeks som ikke eksisterer;
  • ValueError: et argument med feil verdi sendes inn;
  • TypeError: feil datatyper, for eksempel å legge sammen en streng og et heltall;
  • ZeroDivisionError: dele et tall på null;
  • FileNotFoundError: forsøk på å få tilgang til en fil som ikke eksisterer.

Her er et unntakshierarki der hver feil på lavere nivå arver fra den over. Dette betyr at hvis du fanger et unntak på høyere nivå, som Exception, vil det også fange alle avledede 'barne'-feil. Det er ikke nødvendig å kjenne til alle feilene, men de som er markert i gult er de vanligste og spesielt viktige å være oppmerksom på.

Blokken try, except

For å håndtere unntak effektivt, bruker Python blokkene try og except. Dette gjør at programmet kan fortsette selv om en feil oppstår.

Eksempel på try, except-blokk

1234567
try: # Attempt to divide by zero result = 10 / 0 print("The result is", result) except ZeroDivisionError: # This code runs if the ZeroDivisionError is raised print("Attempted to divide by zero.")
copy

Hvis divisjonen var mulig (dvs. deling med et annet tall enn null), ville print-setningen inne i try-blokken blitt utført, og except-blokken ville blitt hoppet over. Except-blokken kjøres kun når den spesifikke feilen den er ment å fange opp, oppstår.

Oppgave

Swipe to start coding

Skriv et skript som håndterer ulike typer feil ved hjelp av grunnleggende operasjoner.

#Bruk kommentarer som nyttige tips for å løse denne oppgaven 😉

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1
single

single

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

close

bookGrunnleggende Feilbehandling i Python: Forhindre Programkrasj

Sveip for å vise menyen

Feilhåndtering er en avgjørende ferdighet for enhver programmerer, da det gjør det mulig for programmene dine å reagere hensiktsmessig på uventede problemer. Dette kapittelet dekker hvilke typer feil og unntak du kan møte på, og hvordan du håndterer dem ved hjelp av try- og except-blokker.

Typer feil og unntak i Python

Python deler feil inn i to hovedtyper: syntaksfeil og unntak.

Syntaksfeil

Syntaksfeil oppstår når parseren oppdager en ugyldig setning. Dette kan være en skrivefeil, en manglende parentes eller feil innrykk. Her er et eksempel:

1
print("Hello world"
copy

Dette vil føre til en syntaksfeil (SyntaxError) fordi den avsluttende parentesen mangler.

Unntak eller kjøretidsfeil

Unntak er feil som oppdages under kjøring. Vanlige unntak inkluderer:

  • IndexError: forsøk på å få tilgang til en indeks som ikke eksisterer;
  • ValueError: et argument med feil verdi sendes inn;
  • TypeError: feil datatyper, for eksempel å legge sammen en streng og et heltall;
  • ZeroDivisionError: dele et tall på null;
  • FileNotFoundError: forsøk på å få tilgang til en fil som ikke eksisterer.

Her er et unntakshierarki der hver feil på lavere nivå arver fra den over. Dette betyr at hvis du fanger et unntak på høyere nivå, som Exception, vil det også fange alle avledede 'barne'-feil. Det er ikke nødvendig å kjenne til alle feilene, men de som er markert i gult er de vanligste og spesielt viktige å være oppmerksom på.

Blokken try, except

For å håndtere unntak effektivt, bruker Python blokkene try og except. Dette gjør at programmet kan fortsette selv om en feil oppstår.

Eksempel på try, except-blokk

1234567
try: # Attempt to divide by zero result = 10 / 0 print("The result is", result) except ZeroDivisionError: # This code runs if the ZeroDivisionError is raised print("Attempted to divide by zero.")
copy

Hvis divisjonen var mulig (dvs. deling med et annet tall enn null), ville print-setningen inne i try-blokken blitt utført, og except-blokken ville blitt hoppet over. Except-blokken kjøres kun når den spesifikke feilen den er ment å fange opp, oppstår.

Oppgave

Swipe to start coding

Skriv et skript som håndterer ulike typer feil ved hjelp av grunnleggende operasjoner.

#Bruk kommentarer som nyttige tips for å løse denne oppgaven 😉

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1
single

single

some-alt