[python] Obsluha uživatelských chyb

Tomas Brabenec konference na brabenec.net
Čtvrtek Listopad 2 09:26:28 CET 2006


On 2.11.2006 8:22, Radek Kanovsky wrote:
> 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.
>   
To byl jen priklad, jak to pouzit s jeho kodem.
Samozrejme ze je lepsi pouzit raw_input, neuvedomil jsem si to hned v tu 
chvili kdyz jsem to psal.
Diky za upozorneni

Tomas Brabenec


Další informace o konferenci Python