Vad är ett fel i ett program?

I programmering kan vi stöta på flera typer av fel:

Typ av felBeskrivningExempel
SyntaxfelProgrammet följer inte språkets regler.Glömt : efter if, felstavning
Körtidsfel/ExekveringsfelProgrammet kraschar under körning.Dela med 0, öppna fil som inte finns
Logiskt felProgrammet körs men gör fel sak.Räknar fel eller visar fel meddelande

Vad är undantag (exceptions)?

Ett undantag är ett speciellt fel som Python kastar när något går fel vid körning.
Exempel:

print(10 / 0)  # ZeroDivisionError

Python skriver ut ett felmeddelande (traceback) och avslutar programmet – om vi inte hanterar det.

Vad är undantagshantering?

Med hjälp av try och except kan vi fånga upp felet och hantera det utan att programmet kraschar:

try:
    value = int(input("Enter a number: "))
except ValueError:
    print("Du skrev inte ett heltal!")

På det sättet kan programmet reagera på fel utan att avslutas oväntat.

Try och except gick även igenom i programmering 1.

Vad är testning?

Testning innebär att vi kontrollerar att vår kod gör det den ska.

Det kan göras på flera sätt:

  • Testa manuellt med olika inputs
  • Skriva kontrolluttryck med assert
  • Använda automatiserade tester med unittest

Exempel:

def add(a, b):
    return a + b

assert add(2, 3) == 5  # Testar att funktionen fungerar

Om villkoret inte stämmer → kastas ett AssertionError.