开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:异常对象】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/601/detail/8764
异常对象
目录:
一、如何捕获异常对象
二、捕获异常对象演示
三、try 语句
一、如何捕获异常对象
当程序运行过程中出现异常以后,所有的异常信息都会被保存在一个专门的异常对象中,而异常传播时,实际上就是异常对象抛给了调用处。如果 except 后跟着一个异常的类型,那么只会捕获该类型的异常,比如:
ZeroDivisionError 类的对象用来表示除 0 异常
Nameerror 类的对象用来处理变量错误的异常
如果 except 后没有任何内容,则此时会捕获到所有异常, exception 是所有异常类的父类,相当于 except,所以如果 except 后跟着 exception,也会捕获到所有异常。在异常类后面跟着 as xx 此时 xx 就是异常对象,但通常情况下没有特别大的作用。运用 Finally 子句即无论是否出现异常,该子句都会执行,所以通常将必须执行的代码放在 finally 子句中。
二、捕获异常对象演示
print(‘异常出现前’)
1=[]
Try:
#Print(c)
#1[10]
#1+’hollo’
Print(10/0)
Except NameError:
Print(‘出现NameError异常‘)
Except ZeroDivisionError:
Print(‘出现ZeroDivisionError异常’)
Except IndexError:
Print(‘出现IndexDivisionError异常’)
Except Exception as e:
Print(‘未知异常’,e,type(e))
Finally:
Print(‘无论是否出现异常,该子句都会执行’)
Print(‘异常出现后’)
三、try 语句
将可能出错的代码放入到 try 语句中,如果代码没有错误,则会正常执行,如果出现错误,则会执行 except 子句中的代码,通过这种方式处理异常,避免给因为一个异常导致整个程序的终止。Try 语句如下:
Try:
代码块(可能出现错误的语句)
Except 异常类型 as 异常名:
代码块(出现错误以后的处理方式)
Except 异常类型 as 异常名:
代码块(出现错误以后的处理方式)
Else:
代码块(没出错时要执行的语句)
Finally:
代码块(该代码块总会执行)
其中 Try 语句是必须的,else 语句可有可无,except 和 finally 至少有一个即可。