[python] Obsluha uživatelských chyb

Radek Kanovsky rk na dat.cz
Čtvrtek Listopad 2 08:22:37 CET 2006


On Thu, Nov 02, 2006 at 07:32:59AM +0100, Tomas Brabenec wrote:

> Ja bych na to pouzil vyjimku, try/except.
> 
> try:
>     promena =  int(input("zadej cislo:"))
> except:
>     promena = 0
> 
> A pokud chces aby to uzivatele nepustilo dal, dokud nezada spravne 
> cislo, tak  to cele jeste strc do cyklu.

Tohle prave moc bezpecne neni. Co kdyz jako uzivatel zadam na vstupu treba

    open('/soubor/s/velmi/dulezitymi/daty', 'w')

Nebo

    __import__('os').unlink('/soubor/s/velmi/dulezitymi/daty')

Funkce 'input' nevrati int a zhavaruje to, ale ten soubor uz bude
prepsany nebo smazazny. Rozhodne je lepsi pouzit raw_input.

Radek Kaňovský


Další informace o konferenci Python