极客干货 2019-03-04 16:53:42 前面我们了解了模块与包管理以及Python解释器,今天我们了解下Python的异常处理机制。 1. 什么是错误,异常? 在前面的分享中我们已经见过一些异常错误,每种编程语言它都有一套对错误情况的分析捕获机制。 错误分为语法错误和异常两种: 语法错误:一般是语法使用不规范引起的(不按套路来),语法分析器会帮我们指出来,比如:少个冒号,导入了不存在的模块了。 异常:是在程序运行期间出现的错误,它并不一定会发生而是可能会发生。 对此我们就需要捕获异常并进行相应的处理,保证我们程序的健壮性。如果你的代码出现了异常,就会触发异常处理机制,后面的代码是不会被执行。 2. 常见的一些异常,如: SyntaxError 语法异常 TypeError 类型异常 IndexError 索引异常 IOError IO异常 KeyError 键值异常 ValueError 类型转换异常 AttributeError 属性异常 ZeroDivisionError 除数为零异常 ...... 3.异常是怎么处理,格式如下: try: 实例代码: 上面的异常部分,我们还可以这样写: 注意,对于多个具体异常类型,它的顺序一般是先子类后基类。 Python解释器会自动帮我们抛出这些异常,并打印出错误异常信息,同时程序会崩溃并退出。 这时我们可以根据提示的错误信息来定位、分析、找出问题,并完善我们的代码。 对于异常的捕获,解释器会自动拋出异常,也可以使用raise关键字主动抛出异常,它再把异常抛给了Python解释器,然后再具体处理。实例代码: 5. 自定义异常类 Python内置了非常多的异常类型,基本上都能满足我们日常项目开发,但有时候我们也需要定制一些更具体的异常类型满足业务需要。 如何来定制呢? 首先我们需要用到面向对象编程的类(后续会很快分享出来),同时继承Exception基类,建议自定义类名以"Error"结尾。 异常类的定义,实例代码: 上面我们自定义了一个异常类型,下面我们就看下如何使用,实例代码: 有关Python的异常处理就了解到这里,有什么问题大家评论区留言;后面准备分享File 文件处理,以及面向对象,请大家多多关注和转发哦! |
|