我在追Apress, Beginning Python from Novice to Professional
书。提到:
最后。如果需要确保执行某些代码(例如,清理代码),无论是否引发异常,都可以使用 try/finally。然后将此代码放在 finally 子句中。请注意,您不能在同一个 try 语句中同时包含 except 子句和 finally 子句——但您可以将一个放在另一个中。
我试过这段代码:
def someFunction():
a = None
try:
a = 1 / 0
except ZeroDivisionError, e:
print 'Yesss'
print e
finally:
print 'Cleanup'
del a
if __name__ == '__main__':
someFunction()
...输出是
Yesss
integer division or modulo by zero
Cleanup
在这里,我在同一段中使用过except
和,不是吗?并且代码按预期工作正常。书上说的我完全看不懂!finally
try
有人请澄清。谢谢。