In script Python, ci sono molti casi in cui un interrupt di tastiera (Ctrl-C) non riesce a uccidere il processo a causa di un except
clausola di nuda da qualche parte nel codice:evitare la cattura accidentale KeyboardInterrupt e SystemExit in Python 2.4
try:
foo()
except:
bar()
La soluzione standard in Python 2.5 o superiore è quello di catturare Exception
invece di usare nude except
clausole:
try:
foo()
except Exception:
bar()
Questo funziona perché, a partire da Python 2.5, KeyboardInterrupt
e SystemExit
eredita da BaseException
, non Exception
. Tuttavia, alcune installazioni eseguono ancora Python 2.4. Come può essere gestito questo problema nelle versioni precedenti a Python 2.5?
(ho intenzione di rispondere a questa domanda me stesso, ma metterlo qui così la gente alla ricerca di che riesce a trovare una soluzione.)
Non fare domande solo così puoi rispondere da solo. SO non è un wiki di dati casuali; sono le risposte alle domande che le persone * stanno effettivamente chiedendo *. –
@Glenn Maynard: indovina _you_ hai torto: http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions – Curd
Rispondere alla tua stessa domanda se trovi la risposta dopo aver chiesto va bene. Fare una domanda * solo così puoi rispondere * è completamente diverso. –