[python] ukončení interpretu, zničení objektu
Jan Martinek
honza na dp.fce.vutbr.cz
Sobota Červen 3 20:31:36 CEST 2006
>> tento program
>>
>> class M:
>> b = 0
>> def __del__(self):
>> M.b
>>
>> a1 = M()
>>
>> vyhodí výjimku
>>
>> Exception exceptions.AttributeError: "'NoneType' object has no attribute
>> 'b'" in <bound method M.__del__ of <__main__.M instance at
>> 0x2aaaaab50a28>> ignored
>>
>
> rekl bych ze tam i tak mas chybu v M.__del__
>
Jakou chybu? Jestli máš na mysli to
M.b
tak se domnívám, že to chyba není. Ale nechci se o tom přít, protože i
když ten řádek nahradím
M.b = 0
tak to při ukončení programu taky vyhazuje tu výjimku.
Zjistil jsem další věc - když kód vepíšu do intepretu, tak při ukončení
výjimku nevyhodí. Zatímco když vytvořím soubor s tímtéž kódem a ten
spustím, tak to výjimku vyhodí. Děje se tak na Linuxu ve verzích
Pythonu 2.4.2 i 2.4.3.
--
Jan Martinek
Další informace o konferenci Python