Python语言系统学习(七)

5-1 生成器

Python语言系统学习(七)_第1张图片

Python语言系统学习(七)_第2张图片

 5-3 迭代器

Python语言系统学习(七)_第3张图片

Python语言系统学习(七)_第4张图片

6-1 异常

Python语言系统学习(七)_第5张图片

Python语言系统学习(七)_第6张图片

注意:except里面的异常类型,要和上面抛出的异常类型相对应,否则,except语句也无法执行。

Python语言系统学习(七)_第7张图片

except语句可以有多个,但是正常情况下最多只会执行一个。如果有多个except子句满足条件,会执行代码靠前的一个。

Python语言系统学习(七)_第8张图片

Python语言系统学习(七)_第9张图片

Python语言系统学习(七)_第10张图片

6-4 添加了else从句的异常处理流程:

Python语言系统学习(七)_第11张图片

6-5 finally从句

Python语言系统学习(七)_第12张图片

 

 

Python语言系统学习(七)_第13张图片

 

 注意;else语句是try没有产生异常时,执行的程序。当产生了异常,是不会执行的,而finally是无论try是否异常都会执行的程序。

6-7 自定义异常

Python语言系统学习(七)_第14张图片

6-8 异常和函数

Python语言系统学习(七)_第15张图片

 

 我们可以选择在合适的层,对异常进行处理。而不需要每一层函数都处理。

6-9 获取异常信息

Python语言系统学习(七)_第16张图片

 

 如果想获得更多对调用堆栈相关的信息,可以调用下面的函数,进行打印。

Python语言系统学习(七)_第17张图片

6-10 with语句

Python语言系统学习(七)_第18张图片

 执行流程如下:

Python语言系统学习(七)_第19张图片

从流程图可以看出,让__exit__()方法不返回True时,我们可以利用try-except进一步对里面的异常进行捕获处理

Python语言系统学习(七)_第20张图片

 

你可能感兴趣的:(Python语言系统学习(七))