《Python程序设计方法》教学课件—06异常处理.pptxVIP

《Python程序设计方法》教学课件—06异常处理.pptx

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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 黑盒测试及测试用例设计;黑

您可能关注的文档

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档