版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python的异常处理制作:教材编写团队出版社:机械工业出版社《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。
书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录Python内置异常Python自定义异常Python异常的处理Python内置异常01
什么是异常?在Python中,异常(Exception)是程序运行时发生的错误或意外情况,它会打断正常的代码执行流程。当Python遇到无法处理的错误(如除以零、访问不存在的变量、文件不存在等)时,会抛出(raise)一个异常。如果不处理异常,程序会终止并显示错误信息。
什么是异常?异常类型:Python内置了许多异常类型(如ValueError、IndexError、FileNotFoundError等),每种代表不同的错误。处理异常:用try-except块捕获并处理异常,防止程序崩溃。常见操作:try:尝试执行可能出错的代码。except:捕获特定异常并处理。finally:无论是否发生异常,都会执行的代码(如释放资源)。
什么是异常?实际项目开发过程,程序员通常无法保证可以一次性编写成完美的程序代码。代码出现问题,我们可以通过一些问题处理机制来防范。例如,可以在可能出现问题的代码段的位置进行相应的处理,当程序运行到此处时,假如出现异常,应该通过什么代码完成处理等,这就是Python的异常处理机制。掌握异常处理了,能把程序代码更加完善。调试Python程序时,经常会报出一些异常,这时就需要根据异常Traceback到出错点,进行分析改正;另一方面,有些异常是不可避免的,但我们可以对异常进行捕获处理,防止程序终止。
Python内置异常Python的异常处理能力是很强大的,它有很多内置异常,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。下面表格列出一些常见的异常及说明异常名称说明ZeroDivisionError除(或取模)零(所有数据类型)NameError未声明/初始化对象(没有属性)EOFError当input
函数在没有读取任何数据的情况下达到结束条件(EOF)时引发IndexError序列中没有此索引(index)ImportError导入模块/对象失败FileNotFoundError请求不存在的文件或目录SyntaxErrorPython语法错误ValueError操作或函数接收到具有正确类型但值不合适的参数SyntaxWarning关于可疑语法警告的基类TypeError操作或函数应用于不适当类型的对象范例:没try异常检测语句的除法运算器演示一下内置异常提示信息,代码如下:i=input('输入被除数:')j=input('输入除数:')k=int(i)/int(j)print(k)运行结果如下:输入被除数:10输入除数:0Traceback(mostrecentcalllast):File"D:/PycharmProjects/6/n6-10.py",line3,in<module>k=int(i)/int(j)ZeroDivisionError:divisionbyzero通过本例发现,第二个数为除数,输入0后,提示了错误报告。异常名为“ZeroDivisionError”,原因是“divisionbyzero”即被除数为0。Python自定义异常02
自定义异常的语法格式python内置了许多异常类,当然我们也可以根据自己的实际需要,自定义某个异常,以达到设计目的。自定义异常的格式如下:class自定义异常名(表达式):
自定义异常类主体部分有关异常类的定义及使用,涉及到第7章面向对象方面的内容,这里暂时不做介绍。Python异常的处理03异常处理的基本语法格式当发生异常时,我们就需要对异常进行捕获,然后进行相应的处理。Python的异常捕获常用try...except...结构,这也是最基础的异常处理结构。try...except语法格式如下:异常处理的基本语法格式try:
#可能会引发异常的代码块#如果发生异常,Python将跳转到对应的except块#如果没有异常,将执行try块内的代码pass#也可以跳过exceptExceptionType1ase:#处理ExceptionType1类型的异常#e是异常对象,包含了异常的信息passexcept(ExceptionType2,ExceptionType3)ase:#处理多个异常类型passexceptExceptionase:#处理所有其他类型的异常passelse:#如果try块内没有发生异常,则执行else块内的代码passfinally:
#不管是否发生异常,都会执行finally块内的代码pass异常处理的基本语法格式Python异常处理主要使用try、except、else和finally关键字
范例:含有try-except语句的除法运算器defdiv(i,j):#定义一个除法函数try:k=i/jreturnkexceptZeroDivisionError:print("除数不能为零!")print(div(5,10))print(div(5,0))从结果可以看出,对有可能出现的除数为0作了异常处理,捕获到了ZeroDivisionError异常值后,输出"除数不能为零!"。
范例:含有try-finally语句的除法运算器defdiv(i,j):#定义一个除法函数try:k=i/jreturnkexceptZeroDivisionError:print("除数不能为零!")finally:print("finally分支在执行")print(div(5,10))print(div(5,0))#运行结果如下finally分支在执行0.5除数不能为零!finally分支在执行None从运行效果可以知道,无论有没有异常,都要执行finally语句中代码,然后打印输出返回值。如果有异常,则捕获异常,执行异常处理,并输出返回值为None。异常处理的建议具体异常优先:尽量捕获具体的异常类型,而不是使用通用的except:避免空except块:至少记录或处理异常,不要忽略它们合理使用finally:确保资源被正确释放保持异常信息:使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育婴常见练习题及详细答案
- 虫害防治实操技能教学课件
- TASHS 003-2025 凤凰萝卜栽培技术规程
- 《爱莲说》阅读测试题及答案分享
- 数学三模拟试卷(2026考研全国统考·内部资料)
- 数学二习题集(2024考研全国统考·考点速记版)
- 古时戒指知识试题及完整答案
- 高空坠物致人损害赔偿协议 高空落物伤人一次性赔付文书
- 《弹力》同步练习及答案-2026-2027学年湘科版(新版)小学科学五年级上册
- 2026年主题班会设计与组织实施课件(附学习测试题)
- 2025秋新版道德与法治三年级上册教学工作计划及教学进度表
- 2026年天津市安全员《C证》考试题库及答案(推-荐)
- 2026年秋苏教版数学二年级上册教学工作计划
- 2026年秋季七年级生物上册教学计划(人教版)
- 新版2026人教版五年级上册数学全册单元试卷【含期中、期末试卷含答案】
- 《商务数据采集与处理》课件 第1节:采集基础
- 2、3、4的乘法口诀 教学设计(小学数学·人教版二年级上册)
- 2025广东珠海市立潮人力资源服务有限公司招聘工程管理人员笔试笔试历年参考题库附带答案详解
- 施工升降机拆卸专项施工方案
- 光伏电站作业危险点分析及预控措施手册
- 网店运营与管理课件
评论
0/150
提交评论