错误处理 调用栈 高阶函数

错误处理

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 有且只有两个参数

参数二:可迭代对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值