Ö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
Undantag — ett 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.