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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python