#coding=utf-8
'''
如果运行时发生异常的话,解释器会查找相应的处理函数。要是在当前函数里没有
找到的话,它会将异常传递给上层的调用函数,看看那里能不能处理。如果在在最
外层还没有找到的话,解释器就会推出,同时打印出traceback以便让用户找出
错误产生的原因。
'''
try:
f=open(filename,'r')
except IOError,e:
return False,str(e)
#如果一个语句可以处理多个异常类型
try:
process_some_data()
except (TypeError,ValueError),e:
print "ERROR:you provide invalid data",e
# 或者
try:
process_some_data()
except (TypeError,ValueError),e:
print "ERROR:you provide invalid data",e
except ArithmeticError,e:
print "ERROR:some math error occurred",e
except Exception,e:
print "ERROR:you provide invalid data",e
# finally子句
try:
get_mutex()
do_some_stuff()
finally:
free_mutex()