[Python] Problema con try except
Daniele Varrazzo
piro a develer.com
Gio 5 Lug 2012 09:39:01 CEST
On 2012-07-03 18:06, Marco Giusti wrote:
> On Tue, Jul 03, 2012 at 05:45:57PM +0200, Matteo Boscolo wrote:
>> prova con ..
>>
>> try:
>> bla bla
>> except SystemExit:
>> return
>> except:
>> bla bla
>
> forse
>
> try:
> bla bla
> except SystemExit:
> raise
> except:
> bla bla
Nope, non ci state prendendo. La cosa che non funziona è l'except nudo.
Non si dovrebbe intercettare niente al di sopra di Exception se non per
motivi speciali (tipo maneggiare il ctrl-C) Se guardate l'albero di
ereditarietà delle eccezioni, SystemExit non deriva da Exception.
try:
blabla
except Exception:
blabla
...e quest'è. SystemExit e KeyboardInterrupt bucano questo except.
Alternativa per un'uscita rapida: usare os._exit. Il programma esce
senza rilasciare eccezioni e senza neanche onorare finally: da usare se
si sa quello che si sta facendo.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python