专业的JAVA编程教程与资源

网站首页 > java教程 正文

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

temp10 2024-11-06 12:11:55 java教程 10 ℃ 0 评论

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

1. 什么是错误,异常?

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

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

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

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

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

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

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

SyntaxError 语法异常

TypeError 类型异常

IndexError 索引异常

IOError IO异常

KeyError 键值异常

ValueError 类型转换异常

AttributeError 属性异常

ZeroDivisionError 除数为零异常

......

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

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

实例代码:

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

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

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

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

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

5. 自定义异常类

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

如何来定制呢?

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

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

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

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

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

【极客干货】从事IT行业十余年,在移动互联网开发,J2EE企业级开发,IOT物联网,AI人工智能等方面有点技术积累,熟练使用C/C++,Java,Python等编程语言。从2009年开始接触Python,后续借空闲时间将个人熟悉的技术干货系统性分享给大家,也许我的分享会让你少走一些弯路,如果您觉得还可以,请多多关注,评论和转发,非常感谢!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表