- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务5-3:捕捉处理程序中的异常【任务目标】修改下面的程序,为程序添加异常处理代码,在程序出错时输出异常信息。#test5_26.py:捕捉处理程序中的异常whileTrue:n=eval(input(请输入一个正整数:))ifn==-1:break#输入-1时结束程序ifn0:continue#计算n的阶乘s=1forxinrange(2,n+1):#当n不是整数时,会发生TypeError异常s*=xprint(%s!=%n,s)【任务实施】演示过程……
5.3异常处理异常指程序在运行过程中发生的错误,异常会导致程序意外终止。异常处理可捕捉程序中发生的异常,执行相应的处理代码,避免程序意外终止。程序中的语法错误不属于异常。
异常处理基本结构异常处理的基本结构如下。try:可能引发异常的代码except异常类型名称:异常处理代码else:没有发生异常时执行的代码finally:不管是否发生异常,都会执行的代码在处理异常时,将可能引发异常的代码放在try语句块中。在except语句中指明捕捉处理的异常类型名称,except语句块中为异常处理代码。程序运行时,如果try语句块中的代码发生了指定异常,则执行except语句块。else语句块中为没有发生异常时执行的代码,else语句块可以省略。finally部分的代码不管是否发生异常都会执行,可以省略finally语句块。
示例代码whileTrue:n=eval(input(请输入一个正整数:))ifn==-1:break #输入为-1时结束程序ifn0:continue#计算n的阶乘s=1forxinrange(2,n+1): #当n不是整数时,会发生TypeError异常s*=xprint(%s!=%n,s)
捕捉异常whileTrue:try:n=eval(input(请输入一个正整数:))ifn==-1:break #输入为-1时结束程序ifn0:continue#计算n的阶乘s=1forxinrange(2,n+1): #当n不是整数时,会发生TypeError异常s*=xprint(%s!=%n,s)exceptTypeError: #异常处理print(输入数据错误,必须是正整数!)
Python内置的常见异常类型AttributeError:访问对象属性出错时引发的异常,例如访问不存在的属性或属性不支持赋值等。EOFError:使用input()函数读文件,遇到文件结束标志EOF时发生的异常。文件对象的read()和readline()方法遇到EOF时返回空字符串,不会引发异常。ImportError:导入模块出错引发的异常。IndexError:使用序列对象的下标超出范围时引发的异常。StopIteration:迭代器没有可执行迭代的迭代元素引发的异常。IndentationError:使用了不正确的缩进引发的异常。TabError:同时使用Tab键和空格导致缩进不一致引发的异常。TypeError:在运算或函数调用时,使用了不兼容的类型引发的异常。ZeroDivisionError:除数为0时引发的异常。
5.3.1捕捉异常
1.捕捉多种异常使用多个except语句捕捉可能出现的多种异常如下。x=[1,2]try:...x[0]/0...exceptZeroDivisionError:...print(除0错误)...exceptIndexError:...print(索引下标超出范围)...else:...print(没有错误)...除0错误
2.捕捉指定异常可以在except语句中同时指定要捕捉的多种异常,以便使用相同的异常处理代码进行统一处理。在except语句中可以使用as为异常类创建一个实例对象x=[1,2]try:...x[0]/0 #此处引发除0异常...except(ZeroDivisionError,IndexError)asexp: #处理多种异常...print(出错了:)...
您可能关注的文档
- 任务三蛋白质的性质1蛋白质的紫外吸收性质2蛋白质的两性电离与等电点3蛋白质的胶体性质4蛋白质的变性5蛋白质的沉淀6蛋白质的颜色反应49课件讲解.pptx
- 任务三计算机联锁设备二信号联锁设备90课件讲解.pptx
- 任务三交换机和防火墙四信号通信设备52课件讲解.pptx
- 任务三纳税人的法律责任99课件讲解.pptx
- 任务三蓄电池五信号电源设备86课件讲解.pptx
- 任务三转辙机二信号系统基础设备36课件讲解.pptx
- 任务实施演示过程21课件讲解.pptx
- 任务实施演示过程30课件讲解.pptx
- 任务实施演示过程2012年蛟龙号载人潜水器进行7000米级海试刷新了多个中国深度新纪录6月15日6671米6月19日6965米6月22日6963米6月24日7020米6月27日7062米摘自百度百科蛟龙号载人潜水器使用元组保存蛟龙号深潜纪录并输出程序运行结果如下96课件讲解.pptx
最近下载
- 融合新闻:通往未来新闻之路-暨南大学-中国大学MOOC慕课答案.pdf VIP
- ICU获得性衰弱讲课件.pptx VIP
- 【基于杜邦分析法对顺丰控股公司的盈利能力分析案例11000字】.doc VIP
- 一种含有类钙钛矿亚单分子层氧化物催化活性结构的催化剂及其制备方法和应用.pdf VIP
- 康复科护士的工作总结.pptx VIP
- 康复科护士个人总结.pptx VIP
- 《专利法》考试题库300题(含答案).pdf VIP
- 襄阳城市介绍旅游攻略家乡介绍宣传模板.pptx VIP
- 安徽农业大学2020-2021学年第2学期《发展心理学》期末考试试卷及标准答案.docx
- 襄阳城市介绍PPT.pptx VIP
原创力文档


文档评论(0)