Grunnleggende 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:
1print("Hello world"
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
1234567try: # 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.")
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.
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
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.13
Grunnleggende 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:
1print("Hello world"
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
1234567try: # 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.")
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.
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
Takk for tilbakemeldingene dine!
single