- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 异常处理及程序调试;第6章 异常处理及程序调试;5.1 异常处理;6.1.1 处理异常情况的传统方式;传统方法(事先预防错误)的缺点:
要预估所有可能发生的异常情况,
所有相应的条件都组织到if语句中
if语句烦琐
未预估到发生异常可能性但程序运行时发生了
可能导致:程序非正常终止、
其他难以预料的结果;2.返回错误码;用错误码预防常见错误方式的缺点:;6.1.2 Python的异常处理机制;6.1.2 Python的异常处理机制;2.try…except语句;例6-3 用try…except语句处理零作除数异常;例6-3 用try…except语句处理零作除数异常;6.1.3 异常对象及自定义异常;内置命名空间中的异常名包括:
AttributeError:调用不存在的方法
EOFError:遇到文件末尾
ImportError:导入模块出错
IndexError:列表越界
IOError:I/O操作(如打开文件出错)
KeyError:使用字典中不存在的关键字
NameError:使用不存在的变量名
TabError:语句块缩进不正确
ValueError:搜索列表中不存在的值
ZeroDivisionError:除数为零;1.异常对象的使用;2.finally子句;例6-4 捕捉和处理零作除数的异常;例6-4 捕捉和处理零作除数的异常;3.自定义异常;class inputException(Exception): #自定义异常类
def _?_init_?_(self,err=输入数据错误!):
Exception._?_init_?_(self,err)
def checkData(x):
if x0: #数据错误时主动抛出异常
raise inputException()
try:
money=float(input(金额money=? ))
checkData(money) #核对数据是否正确
print(应付款,money,元!)
except inputException as e:#捕捉并处理自定义异常
print(e);6.2 程序的测试和调试;二是修改程序代码以纠错:
找原因、纠错的困难:
程序运行不正常或者结果有问题,可能只是错误的外部表现,与内因的关联未必明显
断点法:常用程序调试方法
在代码中某些部位(某一行)安排输出语句、设置断点
执行到该处时自动停止,保留各变量状态,即可检查和校对程序
程序调试过程中,可使用各种调试工具(如Python解释器自带的pdb包)辅助操作,尽快找到出错位置和出错原因;6.2.1 程序测试方式及白盒测试用例设计;1.静态测试;2.动态测试;3.白盒测试及测试用例设计;白盒测试基本原则:;逻辑覆盖有:
语句覆盖:每个语句均执行一次
判定(分支)覆盖:每个语句且判定的每种可能的结果都至少执行一次
条件覆盖:除了每个语句和判定表达式中每个条件都应该取到各种可能的结果
判定/条件覆盖:选取足够多测试数据,
使得判定表达式中每个条件都取到各种可能值,
而且每个判定表达式也都取到各种可能结果
路径覆盖:选取足够多测试数据,
使程序的每条可能路径都至少执行一次;(2)基本路径测试:
即使程序不复杂,也可能包含很多路径,常需压缩路径数量
测试:依据程序流程图,分析由控制构造的环路复杂性,导出基本路径集合,设计测试用例。保证每条路径至少通过一次;datas=[-2,0,5,0,5,5]
for i in range(1,len(datas),2): #路径a
A,B=datas[i-1],datas[i]
print( 测试用例(A=%d,B=%d)%(A,B), end=\t)
path=a
if A1: #路径c
path+= c
if B==0: #路径e
path+= e
print( 输出 A=%d、B=%d%(A,B), end=\t ); else: #路径d
path+= d
print( 输出 B=%d%B, end=\t\t )
else: #路径b
path+= b
print( 输出 A=%d%A, end=\t )
print( 通过路径 +path+ f );6.2.2 黑盒测试及测试用例设计;黑
您可能关注的文档
- 《Java程序设计(实验)》教学大纲.doc
- 《Photoshop平面设计精品教程》课件(全).ppt
- 《Premiere-Pro-CS6核心应用案例教程》教学大纲.doc
- 《Python程序设计方法》教学课件—01程序及程序的运行.pptx
- 《Python程序设计方法》教学课件—02数据表示与操作.pptx
- 《Python程序设计方法》教学课件—03算法及程序结构.pptx
- 《Python程序设计方法》教学课件—04函数.pptx
- 《Python程序设计方法》教学课件—05OOP.pptx
- 《Python程序设计方法》教学课件—07-GUI.pptx
- 《Python机器学习》教学课件—01概论.pptx
- Haier海尔413升风冷变频多门冰箱 BCD-413WGHFD1BSJU1(白)说明书用户手册.pdf
- Siemens西门子工业抽屉式断路器主回路后垂直连接 抽屉式断路器主回路后垂直连接使用手册.pdf
- Samsung三星智能佩戴设备 Galaxy Fit3安全手册.pdf
- Samsung三星滚筒洗衣机 AI神 黑钻热泵洗烘旗舰 WD18DB8995BZSC使用手册.pdf
- Sakura樱花消毒柜 保洁柜消毒柜 SCQ-130D6用户手册说明书.pdf
- Hifiman头领科技ARYA UNVEILED说明书用户手册.pdf
- Siemens西门子工业抽屉式主回路连接前置端子 支撑件 抽屉式主回路连接前置端子 支撑件使用手册.pdf
- Siemens西门子工业中性线的外部电流传感器 中性线的外部电流传感器使用手册.pdf
- Siemens西门子工业电子脱扣单元 电子脱扣单元使用手册.pdf
- Razer雷蛇Playstation 专用雷蛇战锤狂鲨极速版 RZ12-038203 用户指南 (简体中文)说明书用户手册.pdf
最近下载
- 腰椎的解剖及腰部的层次解剖ppt参考课件.ppt
- 知识产权助推新质生产力发展.pptx VIP
- NB∕T 10805-2021 水电工程溃坝洪水与非恒定流计算规范.pdf
- 2022年鄄城县工会系统招聘考试题库及答案解析.docx VIP
- 2024年医师定期考核必考题库及答案.pdf
- 2023年互联网信息审核员理论考试题库(含答案).pdf VIP
- 2024中考语文《西游记》历年真题专练(学生版+解析版).pdf VIP
- 高中音乐鉴赏测试题.doc VIP
- 人教三上数学《数学广角—集合》单元作业设计方案(13页).pdf VIP
- 省级政府和重点城市一体化政务服务能力调查评估报告2021年.pdf VIP
文档评论(0)