捕捉对象

#如果希望在except子句中访问异常对象本身,也就是看到一个异常对象真正的异常信息,而不是输出自己定义的异常信息,可以使用as e的形式,我们称之为捕捉对象。示例如下:
 1 #!/usr/bin/python3
 2 #-*-coding:UTF-8-*-
 3 #异常9.6
 4 
 5 def model_exception(x,y):
 6     try:
 7         b=name
 8         a=x/y
 9     except(ZeroDivisionError,NameError,TypeError) as e:
10         print(e)
11 
12 model_exception(2,0)
#程序执行结果如下:
1 D:\Python\workspace\datatime\20171219>python 异常9.6.py
2 name 'name' is not defined
#若a=x/y在前,则结果如下:
1 D:\Python\workspace\datatime\20171219>python 异常9.6.py
2 division by zero
#由输出结果可知,执行过程中抛出的异常被截获并正常输出了相关异常信息,并且使用这种方式可以捕捉多个异常。
#在python2中,捕捉对象的子句写法是“Except,e”,中间使用“,”号分隔,而不是用as。此处的e也可以使用其他字母,用e意义比较明确,取自except的首字母。
posted @ 2017-12-29 10:29  爱你无目的  阅读(222)  评论(0编辑  收藏  举报