Grundlæggende Fejlbehandling i Python: Forebyggelse af Programnedbrud
Fejlhåndtering er en afgørende færdighed for enhver programmør, da det gør det muligt for dine programmer at reagere hensigtsmæssigt på uventede problemer. Dette kapitel dækker de typer af fejl og undtagelser, du kan støde på, samt hvordan du håndterer dem ved hjælp af try- og except-blokke.
Typer af fejl og undtagelser i Python
Python opdeler fejl i to hovedtyper: syntaksfejl og undtagelser.
Syntaksfejl
Syntaksfejl opstår, når parseren registrerer en ukorrekt erklæring. Dette kan være en tastefejl, en manglende parentes eller forkert indrykning. Her er et eksempel:
1print("Hello world"
Dette vil resultere i en syntaksfejl (SyntaxError), fordi den afsluttende parentes mangler.
Undtagelser eller kørselsfejl
Undtagelser er fejl, der registreres under eksekvering. Almindelige undtagelser inkluderer:
- IndexError: forsøg på at tilgå et indeks, der ikke eksisterer;
- ValueError: overførsel af et argument med forkert værdi;
- TypeError: uoverensstemmelse i datatyper, såsom at lægge en streng sammen med et heltal;
- ZeroDivisionError: division af et tal med nul;
- FileNotFoundError: forsøg på at tilgå en fil, der ikke eksisterer.
Her er et undtagelseshierarki, hvor hver fejl på et lavere niveau arver fra den ovenstående. Det betyder, at hvis du opfanger en undtagelse på et højere niveau, såsom Exception, vil den også opfange alle afledte 'børne'-fejl. Det er ikke nødvendigt at kende alle fejltyper, men dem der er markeret med gult, er de mest almindelige og særligt vigtige at være opmærksom på.
Blokken try, except
For effektiv håndtering af undtagelser anvender Python blokkene try og except. Dette gør det muligt for programmet at fortsætte, selvom der opstår en fejl.
Eksempel på try, except-blok
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 divisionen var mulig (dvs. division med et tal forskelligt fra nul), ville print-sætningen inden for try-blokken blive udført, og except-blokken ville blive sprunget over. Except-blokken udføres kun, når den specifikke fejl, den er designet til at opfange, opstår.
Swipe to start coding
Skriv et script, der håndterer forskellige typer fejl ved hjælp af grundlæggende operationer.
#Brug kommentarer som nyttige tips til at løse denne opgave 😉
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the difference between syntax errors and exceptions in more detail?
How do I know which exception to catch in my code?
Can you give more examples of using try and except blocks?
Awesome!
Completion rate improved to 3.13
Grundlæggende Fejlbehandling i Python: Forebyggelse af Programnedbrud
Stryg for at vise menuen
Fejlhåndtering er en afgørende færdighed for enhver programmør, da det gør det muligt for dine programmer at reagere hensigtsmæssigt på uventede problemer. Dette kapitel dækker de typer af fejl og undtagelser, du kan støde på, samt hvordan du håndterer dem ved hjælp af try- og except-blokke.
Typer af fejl og undtagelser i Python
Python opdeler fejl i to hovedtyper: syntaksfejl og undtagelser.
Syntaksfejl
Syntaksfejl opstår, når parseren registrerer en ukorrekt erklæring. Dette kan være en tastefejl, en manglende parentes eller forkert indrykning. Her er et eksempel:
1print("Hello world"
Dette vil resultere i en syntaksfejl (SyntaxError), fordi den afsluttende parentes mangler.
Undtagelser eller kørselsfejl
Undtagelser er fejl, der registreres under eksekvering. Almindelige undtagelser inkluderer:
- IndexError: forsøg på at tilgå et indeks, der ikke eksisterer;
- ValueError: overførsel af et argument med forkert værdi;
- TypeError: uoverensstemmelse i datatyper, såsom at lægge en streng sammen med et heltal;
- ZeroDivisionError: division af et tal med nul;
- FileNotFoundError: forsøg på at tilgå en fil, der ikke eksisterer.
Her er et undtagelseshierarki, hvor hver fejl på et lavere niveau arver fra den ovenstående. Det betyder, at hvis du opfanger en undtagelse på et højere niveau, såsom Exception, vil den også opfange alle afledte 'børne'-fejl. Det er ikke nødvendigt at kende alle fejltyper, men dem der er markeret med gult, er de mest almindelige og særligt vigtige at være opmærksom på.
Blokken try, except
For effektiv håndtering af undtagelser anvender Python blokkene try og except. Dette gør det muligt for programmet at fortsætte, selvom der opstår en fejl.
Eksempel på try, except-blok
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 divisionen var mulig (dvs. division med et tal forskelligt fra nul), ville print-sætningen inden for try-blokken blive udført, og except-blokken ville blive sprunget over. Except-blokken udføres kun, når den specifikke fejl, den er designet til at opfange, opstår.
Swipe to start coding
Skriv et script, der håndterer forskellige typer fejl ved hjælp af grundlæggende operationer.
#Brug kommentarer som nyttige tips til at løse denne opgave 😉
Løsning
Tak for dine kommentarer!
single