Čtení na doma: Ošetření vstupů
Pokud program nemá žádné vstupy "zvenku", není příliš univerzální. Takový program by se choval vždy stejně a vypsal by jen to, co jsme mu zadrátovali uvnitř (např. text "Hello world!").
Důležité je si pod pojmem vstup programu představit mnoho různých věcí, např.:
- Návratovou hodnotu funkce 
input()- vstup textu z klávesnice - Parametry předané programu přes příkazovou řádku(
sys.argv) - Data z načítaného souboru
 - Data stažená přes internet z API nebo webové stránky
 - Formuláře na webové stránce (viz xkcd komix)
 - Posloupnost klikání na tlačítka a jiné prvky u GUI aplikací
 
Všechny tyto vstupy mohou způsobit v našem programu chyby, kterým se vždy musíme snažit předejít. K tomu se používají dva hlavní přístupy. Opět budeme uvažovat dva přístupy zmíněné v předchozí části.
Nejprve otestuj a pak proveď
Uvažujme, že chceme převést uživatelský vstup na číslo. U tohoto přístupu nejprve ověříme, že vstup obsahuje pouze číslice, a to například s využitím metody .isdigit(). Tato metoda vrátí True, pokud jsou v řetězci pouze čísla, v opačném případě vrátí False. V našem programu tedy řetězec zkontrolujeme a pokud obsahuje jiné znaky než číslice, ukončíme program pomocí funkce exit(). Řádek převodem řetězce na číslo bude tedy spuštěn pouze v případě, že řetězec obsahuje pouze čísla a tím pádem probehne korektně.
import sys
vek = input("Zadej věk: ")
if not vek.isdigit():
    print("Je třeba zadat číslo!")
    sys.exit()
vek = int(vek)
if vek > 15:
    print("Vítej")
else:
    print("Představení je až od 15 let.")
Proveď a řeš až problémy
Předchozí příklad přepíšeme následujícím způsobem:
try:
    vek = input("Zadej věk: ")
    vek = int(vek) # Zde se pokoušíme o převod
    if vek > 15:
        print("Vítej")
    else:
        print("Představení je až od 15 let.")
except ValueError:  # Zde odchytáváme chybu při převodu
    print("Je třeba zadat číslo!")
Pokud by program získal vstup, který není možné převést na číslo, funkce int() vyvolá chybu ValueError. Protože ale máme v programu blok except ValueError, nedojde k ukončení programu neošetřenou chybou. Namísto toho program provede kód, který je v bloku except ValueError a může dále pokračovat. V případě ošetření výjimky totiž Python předpokládá, že problémy, které mohlo chybné zadání způsobit, jsou již v tomto bloku ošetřeny a program může pokračovat dále.