捕获异常try..except..else
注意:except子句的数量没有限制,但使用多个except子句捕获异常时,如果异常类之间具有继承关系,则子类应该写在前面,否则父类将会直接截获子类异常。放在后面的子类异常也就不会执行。
格式
try:
可能触发异常的语句块
except [exceptionType]:
捕获可能触发的异常[可以指定处理的异常类型]
except [exceptionType][,date]:
捕获异常并获取附加数据
except:
没有指定异常类型,捕获任意异常
else:
没有触发异常时,执行的语句块
捕捉多个异常
方法一:指定一个通用异常,可以捕获多个不同的包含在Exception类中的异常类
try..finally语句
无论try语句块中是否触发异常,都会执行finally子句中的语句块,因此一般用于关闭文件或关闭因系统错误而无法正常释放的资源。比如文件关闭,释放锁,把数据库连接返还给连接池等