#如果希望在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的首字母。