Estoy siguiendo Apress, Beginning Python from Novice to Professional
libro. Se menciona que:Descripción del libro obsoleta de la declaración Try-Except-Finally
finalmente. Puede usar try/finally si necesita asegurarse de que se ejecute algún código (por ejemplo, código de limpieza) independientemente de si se ha producido o no una excepción . Este código luego se coloca en la cláusula finally . Tenga en cuenta que no puede tener ambas cláusulas except y una cláusula finally en la misma cláusula try, pero puede poner una dentro de la otra.
I probado este código:
def someFunction():
a = None
try:
a = 1/0
except ZeroDivisionError, e:
print 'Yesss'
print e
finally:
print 'Cleanup'
del a
if __name__ == '__main__':
someFunction()
... y la salida es
Yesss
integer division or modulo by zero
Cleanup
Aquí, he utilizado except
y finally
en el mismo segmento try
, no he ? Y el código funciona bien como se esperaba. ¡No puedo entender lo que dice el libro!
Alguien aclare por favor. Gracias.
Como dice la respuesta aceptada, su libro no está actualizado. De hecho, es más de 5 años desactualizado. Hay * mucho * que ha cambiado en Python en los últimos 5 años. Hazte un favor y compra un libro más reciente. – Duncan
seguro ... lo hará :) – bdhar
Tire todos sus libros y trabaje directamente desde la [documentación] (http://docs.python.org). En particular, tenga en cuenta la versión de Python a la que se aplica cualquier libro/documentación. Asegúrese de leer la nueva lista, en particular, cada versión principal 2.xo 3.x (aunque 2.x ahora se ha estabilizado en 2.7, por lo que es histórico). – smci