try:
x = int(input("Zadej číslo: "))
except ValueError:
print("To nebylo číslo!")Seminář informatiky
Výjimky (exceptions) jsou mechanismus, jak Python signalizuje chyby během běhu programu. Pomáhají zachytit neočekávané situace a zabránit pádu programu.
Exception – základní třída všech výjimek
ValueError – špatná hodnota
TypeError – nesprávný typ
IndexError – přístup mimo rozsah seznamu
KeyError – chybějící klíč ve slovníku
ZeroDivisionError – dělení nulou
FileNotFoundError – soubor neexistuje
… a mnoho dalších
try:
x = int(input("Zadej číslo: "))
except ValueError:
print("To nebylo číslo!")try – blok kódu, kde může dojít k chybě
except – blok pro zpracování chyby
try:
y = 10 / int(input("Dělení číslem: "))
except ZeroDivisionError:
print("Dělení nulou není povoleno!")
except ValueError:
print("Musíte zadat číslo!")elseVolitelný blok, který se vykoná, pokud k výjimce nedojde
try:
x = int(input("Zadej číslo: "))
except ValueError:
print("Chyba!")
else:
print(f"Zadal jste číslo {x}")finallyVždy se vykoná, bez ohledu na to, zda došlo k výjimce
try:
f = open("soubor.txt")
finally:
f.close()Můžeme definovat vlastní třídy výjimek děděním z Exception
class MyError(Exception):
pass
raise MyError("Došlo k vlastní chybě!")Výjimky umožňují bezpečné zacházení s chybami
try, except, else, finally poskytují flexibilitu
Vlastní výjimky zlepšují čitelnost a údržbu kódu