收藏 分享(赏)

《Python语言》课件 第9章 异常.pdf

上传人:曲**** 文档编号:231498 上传时间:2023-03-21 格式:PDF 页数:23 大小:498.05KB
下载 相关 举报
《Python语言》课件 第9章 异常.pdf_第1页
第1页 / 共23页
《Python语言》课件 第9章 异常.pdf_第2页
第2页 / 共23页
《Python语言》课件 第9章 异常.pdf_第3页
第3页 / 共23页
《Python语言》课件 第9章 异常.pdf_第4页
第4页 / 共23页
《Python语言》课件 第9章 异常.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、Python语言大数据应用人才培养系列教材9.2 号常处理流程9.3 自定义异常9.4 实验9.5 小结9.6习题9.1异常概述第九章异常9.1.1认识异常异常就是一个事件,该事件会在程序执行过程中有语法等错误的时候 发生,异常会影响程序的正常执行。通常在Python无法正常处理程序时就会发生一个异常,程序会终止执 行。当Python程序发生异常时,我们需要检测捕获处理它。9.1异常概述第九章异常912处理异常如何检测并处理异常呢?我们检测处理异常,可以通过try语句来实现,任何出现在try语句范围内的异 常都可以被检测到,有4种模式的try语句:tryexcept语句、tryexcept f

2、inaly语句、ry-except-else语句、try(with)一except语句。(1)try-except语句:语法格式如下:try:语句块except Exceptionas reason:9.1异常概述第九章异常9.1.2处理异常出现异常(exception)后的处理代码在语法格式中,语句块属于try语句的检测范围,它类似于while循环、for循环、if/else语句一样;except”后面跟上一个异常的名字,as reason”报出异常的具体内容,并把这详细异常信息输出;出现异常(exception)后的处理代码”这部分是程序员对出现异常后如何处理的代码。一个try语句还可以和

3、多个except语句搭配,对我们感兴趣的异常进行检测处 理。如果try语句包含的异常没有出现在后面跟着的except语句中的时候,则程序 直接报错输出异常的类型。9.1异常概述第九章异常9.1.2处理异常如果当我们不确定在try语句块中会出现哪一种异常的时候,我们可以在 except后面不跟具体的异常类型。上面这种处理方式不推荐采用,因为这样做会掩藏程序员未想到的所有未曾 处理过的错误。有一点一定要注意:try语句检测范围一旦出现了异常,剩下的其它语句将 不会被执行。如上例中,程序运行到try语句块的第一条语句int(def)”的时 候检测到异常,程序立即跳转到except执行异常处理程序,其

4、它程序代码块 就不再执行了。另外,如果要对多个异常进行统一的处理,采用如下的语法格式:9.1异常概述第九章异常912处理异常try:语句块except(Exception 1,Exception2,Exceptions z.):出现异常(exception)后的处理代码 在上述语法中,多个异常之间用逗号,隔开。9.1异常概述第九章异常912处理异常(2)try-finally语句:语法格式如下:try:语句块except Exceptionas reason:出现异常(exception)后的处理代码finally:无论如何都会被执行的代码9.1异常概述第九章异常912处理异常在上述语法中,如

5、果一旦检测到try语句块中有任何异常,程序就会根据异 常类型跳转到except处执行对应异常类型的处理代码,最后再跳转到finally 处执行里面的代码;如果在try语句块中没有检测到任何异常,程序在执行 完try语句块里的代码后,跳过except中的语句块,最后跳转到finally处执行 里面的代码。(3)try-except-else语句:语法格式如下:try:语句块9.1异常概述第九章异常912处理异常except Exceptionas reason:出现异常(exception)后的处理代码else:没有异常后被执行的代码在上述语法中,如果一旦检测到try语句块中有任何异常,程序就会

6、根据异 常类型跳转到except处执行对应异常类型的处理代码,最后终止程序的执行;如果在try语句块中没有检测到任何异常,程序在执行完try语句块里的代码 后,跳转到else处执行里面的代码。9.1异常概述 第九章异常912处理异常 try(with)一except语句:语法格式如下:try:with v语句as name:语句块except Exceptionas reason:出现异常(exception)后的处理代码在语法中可见,with语句出现在try语句块中,一般情况下就不用再写finally语句 块了。使用with语句的最大好处是减少代码量,比如当我们对文件操作时忘记了 关闭文件操

7、作,则with语句会自动执行关闭文件操作。大数据应用人才培养系列教材第九章异常9.1 异常概述9.2 异常处理流程9.3 自定义异常9.4 实验9.5 小结9.6习题9.2异常处理流程第九章异常Python中的异常处理流程是:当程序运行try语句块检测到异常时,立即终止有异常的语句的执行,跳转 到匹配该异常的except子句执行异常处理代码,异常处理完毕后,如果有 finally语句就执行该语句块中的代码,最后终止整个程序的执行,如果没有 finally语句就直接终止整个程序的执行。如果检测到异常,但没有该异常匹配的except子句,分两种情形:如果有 finally语句就执行该语句块中的代码

8、,最后终止整个程序的执行;如果没有 f i nal ly语句就直接终止整个程序的执行。如果在try语句块中没有检测到异常,程序执行完try语句块后,如果有else语 句块就执行里面的内容最后控制流就通过整个try语句,没有else语句控制流 就直接通过整个try语句。大数据应用人才培养系列教材第九章异常9.1 异常概述9.2 异常处理流程9.3 自定义异常9.4 实验9.5 小结9.6习题9.3自定义异常 第九章异常自定义一个简单的异常类,如下所示:class MyError(Exception):pass在程序代码中使用关键字raise来抛出自定义的异常。语法格式如下:raise MyExc

9、eption(defineexceptname)在上述语法中,MyException-自定义异常的类型,defineexceptname自定义异常的说明。9.3自定义异常第九章异常同时,我们也可以结合tryexcept主动抛出自定义的异常,如下例代码所示:class Myerror(Exception):passtry:raise Myerror。测试自定义的异常)except Myerror as e:print(e)运行结果如下:测试自定义的异常大数据应用人才培养系列教材第九章异常9.1 异常概述9.2 反常处理流程9.3 自定义异常9.4 实验9.5 小结9.6习题9.4实验第九章异常9

10、.4.1 利用try-except处理除数为零的异常9.4.2 自定义异常的使用9.4.3 raise关键字的使用9.4.4 内置异常处理语句的使用大数据应用人才培养系列教材第九章异常9.1 异常概述9.2 反常处理流程9.3 自定义异常9.4 实验9.5 小结 9.6习题9.5小结第九章异常在Python当中,若程序在运行时出错,系统会自动地在出错的地方生成一个 异常对象,而后系统会在出错的地方向后寻找是否有对这个异常对象处理的 代码,如果没有,系统会将这个异常对象抛给其调用函数,这样层层抛出,如果在程序主函数中仍然没有对这个异常对象处理的代码,系统会将整个程 序终止,并将错误的信息输出。大数据应用人才培养系列教材第九章异常9.1 异常概述9.2 反常处理流程9.3 自定义异常9.4 实验9.5 小结9.6习题习题:1.Python异常处理结构有哪几种形式?2.异常和错误是同一概念吗?为什么?感谢聆听

展开阅读全文
相似文档
猜你喜欢
搜索标签

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们     诚招英才     服务填表     联系我们

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服