分享

Python3 自学第13天:异常处理,自定义异常

 静幻堂 2019-03-07
极客干货 2019-03-04 16:53:42

前面我们了解了模块与包管理以及Python解释器,今天我们了解下Python的异常处理机制。

1. 什么是错误,异常?

在前面的分享中我们已经见过一些异常错误,每种编程语言它都有一套对错误情况的分析捕获机制。

错误分为语法错误和异常两种

语法错误:一般是语法使用不规范引起的(不按套路来),语法分析器会帮我们指出来,比如:少个冒号,导入了不存在的模块了。

异常:是在程序运行期间出现的错误,它并不一定会发生而是可能会发生。

对此我们就需要捕获异常并进行相应的处理,保证我们程序的健壮性。如果你的代码出现了异常,就会触发异常处理机制,后面的代码是不会被执行。

2. 常见的一些异常,如:

SyntaxError 语法异常

TypeError 类型异常

IndexError 索引异常

IOError IO异常

KeyError 键值异常

ValueError 类型转换异常

AttributeError 属性异常

ZeroDivisionError 除数为零异常

......

3.异常是怎么处理,格式如下:

try:
# 代码块
except Exception as e:
# 异常处理
print(e)
else:
# 没有异常
finally:
# 无论是否异常代码都会执行。

实例代码:

Python3 自学第13天:异常处理,自定义异常

上面的异常部分,我们还可以这样写:

Python3 自学第13天:异常处理,自定义异常

注意,对于多个具体异常类型,它的顺序一般是先子类后基类。

Python解释器会自动帮我们抛出这些异常,并打印出错误异常信息,同时程序会崩溃并退出。

这时我们可以根据提示的错误信息来定位、分析、找出问题,并完善我们的代码。

对于异常的捕获,解释器会自动拋出异常,也可以使用raise关键字主动抛出异常,它再把异常抛给了Python解释器,然后再具体处理。实例代码:

Python3 自学第13天:异常处理,自定义异常

5. 自定义异常类

Python内置了非常多的异常类型,基本上都能满足我们日常项目开发,但有时候我们也需要定制一些更具体的异常类型满足业务需要。

如何来定制呢?

首先我们需要用到面向对象编程的类(后续会很快分享出来),同时继承Exception基类,建议自定义类名以"Error"结尾。

异常类的定义,实例代码:

Python3 自学第13天:异常处理,自定义异常

上面我们自定义了一个异常类型,下面我们就看下如何使用,实例代码:

Python3 自学第13天:异常处理,自定义异常

有关Python的异常处理就了解到这里,有什么问题大家评论区留言;后面准备分享File 文件处理,以及面向对象,请大家多多关注和转发哦!

上一篇:Python3 自学第12天:模块与包管理,Python解释器

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多