try, except, finally是Python中的异常捕捉机制,通常的用法就是try..except...结合起来用,程序捕捉try语句块中的异常,如果发现异常就把异常交给except中的语句块进行处理,也就是执行except中的语句,这里except也可以结合if...else一起使用。
当然,try...except也可以结合finally使用。则将finally放在最后,finally语句块的内容通常是做一些后事的处理,比如资源释放什么的,并且finally语句块是无论如何都要执行的,即使在前面的try和except语句块中出现了return,都现将finally语句执行完再去执行前面的return语句。下面看一个简单的例子:
try.py
def tryTest():
try:
den = input("input a number:")
x = 1.0/int(den)
print x
return 1
except Exception, e:
print e
return 0
finally:
print "this is a finally test"
result = tryTest()
print result
执行try.py
当输入为1时,程序没有捕捉到异常,则返回值为1,但是在返回之前会执行finally的语句块,也即是打印“this is a finally test”这句话,如下图: