Sto seguendo Apress, Beginning Python from Novice to Professional
book. Si dice che:Descrizione libro obsoleto di Try-Except-Finally statement
infine. È possibile utilizzare try/finally se è necessario assicurarsi che qualche codice (ad esempio, codice cleanup) venga eseguito indipendentemente dal fatto che venga sollevata o meno un'eccezione . Questo codice viene quindi inserito nella clausola finally . Si noti che non è possibile avere entrambe le clausole tranne la clausola finally nella stessa istruzione try, ma è possibile inserirne una all'interno dell'altra.
ho provato questo codice:
def someFunction():
a = None
try:
a = 1/0
except ZeroDivisionError, e:
print 'Yesss'
print e
finally:
print 'Cleanup'
del a
if __name__ == '__main__':
someFunction()
... e l'uscita è
Yesss
integer division or modulo by zero
Cleanup
Qui, ho usato except
e finally
nella stessa try
segmento, non ho io ? E il codice funziona bene come previsto. Non riesco a capire cosa dice il libro!
Qualcuno si prega di chiarire. Grazie.
Come dice la risposta accettata, il tuo libro non è aggiornato. In effetti è più di 5 anni non aggiornato. C'è molto * che è cambiato in Python negli ultimi 5 anni. Fatti un favore e compra un libro più recente. – Duncan
sicuro .. lo farà :) – bdhar
Elimina tutti i tuoi libri e lavora direttamente dalla [documentazione] (http://docs.python.org). In particolare, si noti la versione di Python per cui si applica qualsiasi libro/documentazione. Assicurati di sfogliare la lista di whatsnew, in particolare tutte le versioni 2.x o 3.x principali (anche se 2.x ora si è stabilizzato su 2.7, quindi questo è storico). – smci