Python från början

Mikroövningar för Introduktion till IoT

Övning 21 / 24

Fel som du fångar

Beräknad tid: 18 min

Varför

int(...) och open(...) kan gå sönder. Utan hantering dör hela programmet. try och except låter dig skriva ett begripligt meddelande i stället.

Den nya idén

Undantagett fel som Python kastar medan programmet körs, till exempel ValueError när int("hej") misslyckas. Det är inte samma sak som en SyntaxError i koden.

text = input("Tal: ")
try:
    n = int(text)
    print(n + 1)
except ValueError:
    print("Det där var inte ett heltal.")

Bara felen du nämner efter except fångas. Ett annat fel syns som vanligt. Fånga det specifika felet, inte allt på en gång.

Uppgift

Skapa filen fel.py. Fråga efter ett heltal. Går konverteringen bra: skriv ut talet gånger tio. Går den inte: skriv ut Kunde inte läsa talet. och avsluta utan mer utskrift.

Förväntat resultat

Två körningar: 4 respektive abc.

python3
40

Kunde inte läsa talet.

Kör fast?