错误处理 调用栈 高阶函数

错误处理

try:

​ 有可能发生异常的语句块

except 错误类型1 as e :

​ 异常处理1

except 错误类型2 as e :

​ 异常处理2

。。。

finally

​ 无论代码是否出现异常都会执行此语句块

执行过程:

先执行try下面的语句块,当语句出现异常的时候,会去except语句中进行错误匹配,若匹配上则执行该except下面的语句,若匹配不上则报错。

无论代码是否 出现异常,都会执行finally下面的语句。

在使用异常捕捉的时候需要注意:它不但可以捕捉该类型的错误,还可以将其子类一网打尽。

错误调用栈:

若错误没有捕获,则会一直向上抛,直到抛给python解释器,python解释器它会打印错误的堆栈信息然后退出。

因此查找错误的时候,

第一,先看错误类型

第二,从下往上找[必须是你自己写的模块]

import logging

自定义异常

异常并不是凭空产生的,捕获的异常其实就是系统定义异常的类的一个实例,在我们开发的过程中,我们不但可以捕获异常,我们也可以自己自定义异常,主动抛出异常,在自定义异常的时候,我们需要选好继承关系。

在必要的时候我们才进行自定义错误类型,若python中存在已有的错误类型,我们尽量使用python内置的错误类型。

常见的错误类型:

AttributeError 试图访问一个对象没有的属性

IOError 输入/输出异常,无法打开文件

python2 和 python3 的区别

至少记住6条

高阶函数

MapReduce 函数

主要应用于分布式中

map(func,iter1)

参数一:函数,有且只有一个参数

参数二:可迭代对象

功能:将可迭代对象中的元素依次取出作用于func函数,并将作用的结果作为迭代器返回。

import functools

functools.reduce(func,iter1)

参数一:func 有且只有两个参数

参数二:可迭代对象

猜你喜欢

转载自blog.csdn.net/weixin_45183510/article/details/93326567
今日推荐