




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章
程序的异常处理python程序设计基础教程7.1程序的错误和异常
编程时常常会出现三种错误包括语法错误、运行时错误、逻辑错误(1)语法错误:是指不遵循语言的语法结构引起的错误(程序无法正常编译/运行遗漏了某些必要的符号(冒号、逗号或括号)关键字拼写错误缩进不正确(2)运行时错误:是指程序在运行过程中遇到错误,导致意外退出尝试访问一个没有申明的变量。(3)逻辑错误:是指程序的执行结果与预期不符表达式可能不会按照期望的顺序进行运算,从而产生不正确的结果。7.1程序的错误和异常
异常含义类型SyntaxError
使用关键词作为变量名,会抛出该异常。在if、for、while等语句的头语句后面忘记写冒号,会抛出该异常。字符串缺引号,会抛出该异常。开放操作符
(、
{或
[没有关闭,
使Python继续将下一行作为当前语句的一部分,会抛出该异常。在判断条件中使用
=代替==,会抛出该异常。混合使用tabs和空格键作为缩进,会抛出该异常。语法错误NameError
使用当前环境中不存在的变量。另外,局部变量是本地的,不能被在定义的函数之外引用,会抛出该异常。运行时错误TypeError
数据类型不匹配,比如:对字符串,列表或元组使用非整数索引,会抛出该异常。格式字符串中的项目与输出值之间存在不匹配,数量的不匹配和无效的转换,会抛出该异常。传递给函数或方法的参数数量错误,会抛出该异常。KeyError请求一个不存在的字典关键字,会抛出该异常。AttributeError尝试访问未知的对象属性,会抛出该异常。ZeroDivisionError除数为0,会抛出该异常。FileNotFoundError打开的文件不存在,会抛出该异常。IOError输入输出错误(比如你要读的文件不存在),会抛出该异常。解释器没有输出错误信息运算符优先级考虑不周,会抛出该异常。变量名使用不正确,会抛出该异常。语句块缩进层次不对,会抛出该异常。布尔表达式出错,会抛出该异常。逻辑错误7.1程序的错误和异常写一个除法方法。
defGetdiv(m,n):returnm/nprint(Getdiv(6,0))print(Getdiv(6,3))ZeroDivisionError:divisionbyzerodefGetdiv(m,n):ifn==0:return'除数不能为0' else:returnm/n7.2捕获异常针对异常的处理方法如下:try: <执行语句1>#运行try语句块,并试图捕获异常except<异常1>: <执行语句2>7.2捕获异常针对异常的处理方法如下:try: <执行语句1>#运行try语句块,并试图捕获异常except<异常1>: <执行语句2>7.2捕获异常打开一个文件名为test.txt的文件,在该文件中的内容写入内容。
try:withopen("test.txt","r+")asf:f.write("这是一个测试文件,用于测试异常!!")exceptIOError:print("Error:没有找到文件或读取文件失败")7.2捕获异常当可能发生多种异常时,可以使用多个except语句捕获异常try: <执行语句1>#运行try语句块,并试图捕获异常except<异常1>: <执行语句2>#如果name1异常发生,那么执行该语句块。except<异常2>as<variable>: <执行语句3>#如果name2异常发生,那么执行该语句块,并把异常实例命名为variableexcept: <执行语句4>#发生了以上所有列出的异常之外的异常,执行该语句块。7.2捕获异常判断下列程序可能发生的异常。
try:s=eval(input('s='))s=5/sprint("5/s值为:",s)exceptZeroDivisionError:print("除数不能为0")exceptNameErrorase:print("变量名错误")except:print("语法错误")s=25/s值为:2.5
s=0除数不能为0
s=a变量名错误
s=,,,语法错误7.2捕获异常Python制定了专门的try...except...finally...异常处理语句try: <执行语句1>#运行try语句块,并试图捕获异常except<异常1>: <执行语句2>#如果异常1发生,那么执行该语句块。except<异常2>as<variable>: <执行语句3>#如果异常2发生,那么执行该语句块,并把异常实例命名为variableexcept: <执行语句4>#发生了以上所有列出的异常之外的异常,执行该语句块。else: <执行语句5>#如果没有异常发生,那么执行该语句块finally: <执行语句6>#无论是否有异常发生,均会执行该语句块。7.2捕获异常打开一个文件test.txt时,在该文件中的内容写入内容,判断可能发生的异常。
try:f=open("test.txt",'r+')f.write("这是一个测试文件,用于测试异常!!")exceptIOError:print("Error:没有找到文件或读取文件失败")else:print("内容写入成功")finally:f.close()print("程序执行结束")7.2捕获异常判断下列程序可能发生的异常。
defdiv(a,b):try:print("a/b=",a/b)exceptZeroDivisionError:print("除数为0")exceptExceptionase:print("未知错误:{}".format(e))else:print("语句块正常执行")finally:return'程序运行结束'print(div(3,2))print()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤制合成气生产中气体输送与压缩考核试卷
- 2024年优特钢:碳结钢资金筹措计划书代可行性研究报告
- 2024年墙画式终端装置项目资金需求报告代可行性研究报告
- 2024年水泥缓凝剂项目资金申请报告代可行性研究报告
- 成都市双流区2025年八年级《语文》上学期期末试题与参考答案
- 高清影视特效渲染农场租赁合同(含后期服务)
- 高端工业模具设计版权授权与收益分成及后续技术支持协议
- 电商平台跨境电商退税风险共担合作协议
- 电商仓储叉车调度员劳务派遣服务协议
- 生物医药研究员科研项目合作与技术支持协议
- 2025越南语等级考试AG级试卷:词汇辨析与语法应用
- 2024年济南长清产业发展投资控股集团有限公司招聘笔试真题
- 2025护理团体标准解读
- 风电场输变电设备典型故障及异常处理手册
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试语文试题答案
- 人类面临的主要环境问题第一课时课件高一下学期地理湘教版(2019)必修二
- 四川助康新材料有限公司四川助康新材料有限公司年产3.5万吨环保型抗菌新材料生产线项目环评报告
- 企业抖音陪跑服务课件
- 2025-2030中国采耳行业市场深度调研及竞争格局与投资前景研究报告
- 生物制剂的应用及护理
- 《智能网联汽车智能座舱技术》考试复习题库(含答案)
评论
0/150
提交评论