马敏11

2020-08-16   阅读量: 736

数据分析师

python中的错误和异常

扫码加入数据分析学习群

Tips:

  1. 写程序和工作一样,千万不要害怕失误(报错)。因为,只有当这个问题,真正戳痛你的时候,你才会用心想办法来解决,这也是你提升自己最好的办法。

  2. 同样,失误(报错)后,不要着急询问他人或上网查询寻求解决办法。应从报错本身的含义入手,对自己编写的代码进行检查。

  3. 不要觉得工作失误(程序报错),是一种很丢人的现象,因为每一个程序大佬,职场精英,都是从菜鸟过来的,若果你因为因为出入某行业,或者刚刚接触写程序而被某领导,某同事嘲笑,那么只能从另外一个角度证明这样的领导、同事,同样很菜。


错误类型

语法错误(Syntax Error)

语法错误, 即我们运行不符合python语法的代码时候,系统给我们的提示, 在解析时会报SytaxError, 并且会显示出错的哪一行, 并且用小箭头指明最早探测到错误的位置。程序运行之前就会预先检查语法错误, 因此报出语法错误的时候程序实际上还没有运行。


异常(Exceptions)

异常,即我们在编写代码的时候,基本的语法是没有问题的,但是还会在运行中产生错误,这类报错,叫做异常。

除零错误ZeroDivisionError: division by zero

命名错误NameError: name "xx" is not defined

类型错误TypeError

等等..........更多请参照下图

image.png


使用try和except处理错误

当我们在写代码的过程中,出现异常时,系统会终止程序。有些时候我们不希望程序终止,而是希望跳过这部分出现异常的部分,去执行之后的部分。这时候,就要用到try - except语句或try - final语句,综合来说,这类语句的基本结构如下:


try:
代码块1(可能会出错的代码块放这里)
except:
代码块2(如果代码块1出错了,运行代码块2)
else:
代码块3(如果代码块1没出错了,运行代码块3)
finally:
代码块4(不论代码块1是否正确,都运行代码块4)

手动引发错误

在某些时候,我们还是希望可以提前终止某些执行的程序,手动引起报错,是一种不错的选择。

手动引起报错的关键字为raise, 后面紧跟着异常的错误类型,以及异常提示内容:
raise excptions("contents")

自定义错误

我们会发现上面我们手动引发的错误类型是ValueError,但是这对于一般熟悉异常类别的人看来,这段代码引发这样的错误,就会非常奇怪。所以,我们需要来定义一些合格该场景的异常类别。

异常,其实是一种类(class),捕获一个错误就是捕获到该类的一个实例。因此,错误并不是凭空产生的,而是有意创建并抛出的。

class ListError(Exception): #只添加了一个类定义
pass

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
32.3905 3 8 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子