网站大量收购独家精品文档,联系QQ:2885784924

《Python程序设计》课件——第9讲 异常.pptxVIP

《Python程序设计》课件——第9讲 异常.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共44页,可阅读全部内容。
  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文档。上传文档
查看更多

第9讲异常(1);学习目标;本讲要点;9.1异常概述;初学Python会遇到各种报错:

有一种错在程序执行前由语法解析工具(如PyCharm)给出提示,如右图所示。;还有一种错误是:语法正确,但在执行过程中遇到程序的内部逻辑错误,比如,试图打开一个不存在的文件去读取数据,此时也会报错。

这种程序运行过程中出现的错误称为异常。;程序运行出现异常时,若程序中没有设置异常处理功能,解释器会采用系统的默认方式处理异常,即返回异常信息、终止程序。

异常信息中通常包含异常代码所在行号、异常的类型和异常的描述信息。

;Python程序运行出错时产生的每个异常类型都对应一个类,大多数异常都继承自Exception类,Exception类又继承了异常类的基类BaseException。;1.NameError;2.IndexError;3. AttributeError;4. FileNotFoundError;9.2异常捕获语句;Python既可以直接通过try-except语句实现简单的异常捕获与处理的功能,也可以将try-except语句与else或finally子句组合实现更强大的异常捕获与处理的功能。;try:

可能出错的代码

except[异常类型[aserror]]:#将捕获到的异常对象赋error

捕获异常后的处理代码;try-except语句可以捕获与处理程序的单个、多个或全部异常。;num_one=int(input(请输入被除数:))

num_two=int(input(请输入除数:))

try:

print(结果为,num_one/num_two)

exceptZeroDivisionErroraserror:

print(出错了,原因:,error);try-except语句可以捕获与处理程序的单个、多个或全部异常。;try-except语句可以捕获与处理程序的单个、多个或全部异常。;try:

可能出错的代码

except[异常类型[aserror]]:#将捕获到的异常对象赋值error

捕获异常后的处理代码

else:

未捕获异常后的处理代码;else子句可以与try-except语句组合成try-except-else结构,若try监控的代码没有异常,程序会执行else子句后的代码。;try:

可能出错的代码

except[异常类型[aserror]]:#将捕获到的异常对象赋值error

捕获异常后的处理代码

finally:

一定执行的代码;无论try子句监控的代码是否产生异常,finally子句都会被执行

finally子句多用于预设资源的清理操作,如关闭文件、关闭网络连接;9.3抛出异常;Python程序中的异常不仅可以自动触发异常,而且还可以由开发人员使用raise和assert语句主动抛出异常。;使用raise语句可以显式地抛出异常,raise语句的语法格式如下:;raise异常类 #格式1:使用异常类名引发指定的异常

raise异常类对象 #格式2:使用异常类的对象引发指定的异常

raise #格式3:使用刚出现过的异常重新引发异常;raise异常类 #格式1:使用异常类名引发指定的异常

raise异常类对象 #格式2:使用异常类的对象引发指定的异常

raise #格式3:使用刚出现过的异常重新引发异常;raise异常类 #格式1:使用异常类名引发指定的异常

raise异常类对象 #格式2:使用异常类的对象引发指定的异常

raise #格式3:使用刚出现过的异常重新引发异常;assert语句又称为断言语句,其语法格式如下所示:;9.3.2使用assert语句抛出异常;如果程序中的异常没有被处理,默认情况下会将该异常传递到上一级,如果上一级仍然没有处理异常,那么会继续向上传递,直至异常被处理或程序崩溃。;小结;第9讲异常(2);知识回顾;本讲要点;9.4自定义异常;有时我们需要自定义异常类,以满足当前程序的需求。自定义异常的方法比较简单,只需要创建一个继承Exception类或Exception子类的类(类名一般以“Error”为结尾)即可。;classShortInputError(Exception):

自定义异常类

def__init__(self,length,atleast):

self.length=length #输入的密码长度

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档