私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第10单元 Python异常处理

第10单元 Python异常处理 python
第10单元 Python异常处理

本单元知识点 >10.1异常的概念 >10.2异常类 >10.3异常处理 >10.4抛出异常 >10.5断言 >10.6用户自定义异常 >10.7上下文管理
本单元知识点 ➢ 10.1 异常的概念 ➢ 10.2 异常类 ➢ 10.3 异常处理 ➢ 10.4 抛出异常 ➢ 10.5 断言 ➢ 10.6 用户自定义异常 ➢ 10.7 上下文管理

10.1异常的概念 1语法错误 语法错误,也称作解析错误,也许是学习Python过程中最常见的。 下面的代码中printi有拼写错误,程序运行会报错。 扫码看视频10.1 prin("hello,world捫 Traceback(most recent call last): File "C:/Users/Administrator/PycharmProjects/ch10/ex10.1.py", line 1,in prin("hello,world") NameError:name 'prin'is not defined 语法分析器指出错误行号为第1行,因为prit少了一个“t"。错误会 输世文件名和行号,万便查我发生错误的位置
10.1异常的概念 1语法错误 语法错误,也称作解析错误,也许是学习Python 过程中最常见的。 下面的代码中print有拼写错误,程序运行会报错。 prin("hello,world") Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/ch10/ex10.1.py", line 1, in prin("hello,world") NameError: name 'prin' is not defined 语法分析器指出错误行号为第1行,因为print少了一个“t”。错误会 输出文件名和行号,方便查找发生错误的位置。 扫码看视频10.1

10.1异常的概念 2.异常 即使语句或表达式在语法上是正确的,当试图执行它时也可能会引发 错误。当Python检测到一个错误时,解释器就会指出当前流已无法 继续执行下去,运行期检测到的错误即为异常。异常是指因为程序出 错而在正常控制流以外采取的行为
10.1异常的概念 2.异常 即使语句或表达式在语法上是正确的,当试图执行它时也可能会引发 错误。当Python检测到一个错误时,解释器就会指出当前流已无法 继续执行下去,运行期检测到的错误即为异常。异常是指因为程序出 错而在正常控制流以外采取的行为

10.2异常类 常见异常类如下: 1.TypeError(类型错误):必须是一个字符串不能是数字 2.Indentation Error(缩进错误):未知缩进不匹配任何缩进 等级 3.IndexError(索错误):字符串超出了范围 4.SyntaxError(语法错误):非法的语法 5.ValueError(值错误):子字符串未找至 6,AttributeError(属性错误):元组对象没有属性‘remove
10.2 异常类 常见异常类如下: 1.TypeError(类型错误):必须是一个字符串 不能是数字 2.IndentationError(缩进错误):未知缩进不匹配任何缩进 等级 3.IndexError(索引错误):字符串超出了范围 4.SyntaxError(语法错误):非法的语法 5.ValueError(值错误):子字符串未找到 6.AttributeError(属性错误):元组对象没有属性‘remove’

10.3异常处理 在Python程序设计中,异常处理语法结构如下: try: 扫码看祝频10.2 except: except: else: finally:
10.3 异常处理 在Python程序设计中,异常处理语法结构如下: try: except: except: else: finally: 扫码看视频10.2

10.3异常处理 【例10.2】处理打开文件异常 try: f1=open("test.txt""r") readstr=f1.read(20) except IOError: pint(没有找到文件或读取文件失败 else: print(readstr) f1.close() 执行上面这段程序时,如果所读取s.x文件不存在,程序产生异常 except语句分支捕获 序将输出:没有找到文件或读取文件失败。 在,则程序会顺利打开文件并执行©水$e话句分支, 输出文件中的前20 后关闭文件,最后程序退出
10.3 异常处理 【例10.2】处理打开文件异常 try: f1= open("test.txt" "r") readstr=f1. read(20) except IOError: print("没有找到文件或读取文件失败") else: print(readstr) f1. close() 执行上面这段程序时,如果所读取test.txt文件不存在,程序产生异常,此异常被 except语句分支捕获,程序将输出:没有找到文件或读取文件失败。如果文件存 在,则程序会顺利打开文件并执行else语句分支,输出文件中的前20个字符,然 后关闭文件,最后程序退出

10.4抛出异常 Python可以自动引发异常,也可以通过raise显式地抛出异常。 ▣▣ 一旦执行了raise语句,raise,后面的语句将不能执行。换句话说, rd$e语句允许程序员在任何必要的时候强制抛出一个指定的异 扫码看视频103 常,而不必等Python发。其语法格式如下: raise exceptionName 只要在r©ise关键字后跟上一个异常类型名,就可立即引发一个 异常,改变程序的执行路径
10.4 抛出异常 Python可以自动引发异常,也可以通过 raise显式地抛出异常。 一旦执行了raise语句,raise后面的语句将不能执行。换句话说, ralse语句允许程序员在任何必要的时候强制抛出一个指定的异 常,而不必等 Python引发。其语法格式如下: raise exceptionName 只要在 raise关键字后跟上一个异常类型名,就可立即引发一个 异常,改变程序的执行路径。 扫码看视频10.3

10.4抛出异常 【例10.6】使用raise.主动抛出异常 datal=input("请输入一个整数:" try: if datal .isdigit(): datal_int=int(datal) else: raise ValueError except ValueError: print(将数据转换成整数时出错:",data 运行程序,输入字母¤,结果为 将数据转换成整数时出错:© 以上代码在y语句块中并没有自发产生异常的代码,而是自行根据条件判桥情 况抛出了一个异常,后面的©xc©p分支会处理抛出的异常
10.4 抛出异常 【例10.6】使用raise主动抛出异常 data1=input("请输入一个整数:") try: if data1.isdigit(): data1_int=int(data1) else: raise ValueError except ValueError: print("将数据转换成整数时出错:", data1) 运行程序,输入字母a,结果为: 将数据转换成整数时出错: a 以上代码在try语句块中并没有自发产生异常的代码,而是自行根据条件判断情 况抛出了一个异常,后面的 except分支会处理抛出的异常

10.5断言 断言(assert)语句用来声明某个条件是真的,其作用是测试一个条 可回 件(condition)是否成立,如果不成立,则抛出异常。断言的语法格式 如下: 可2到 扫码看祝频10.4 assert condition [,expression] 如果condition为false,就raise一个描述为expression的 AssertionError出来。expression可以省略
10.5 断言 断言(assert)语句用来声明某个条件是真的,其作用是测试一个条 件(condition)是否成立,如果不成立,则抛出异常。断言的语法格式 如下: assert condition[,expression] 如果condition为false,就raise一个描述为 expression 的 AssertionError出来。expression可以省略。 扫码看视频10.4
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第5单元 Python程序的流程控制.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第4单元 Python的组合数据类型.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第3单元 Python字符串输入输出.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第2单元 Python基础知识.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第1单元 初识Python的世界(负责人:尹菡).pptx
- 《Python语言程序设计》课程教学资源(教案讲义)Python学习参考教材(共十一单元).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(实习实验)Python编程基础实验指导手册.pdf
- 《Python语言程序设计》课程教学资源(拓展资源)零基础Python上手编程(2020版).pdf
- 《Python语言程序设计》课程教学资源(拓展资源)Python练习实例(Python 100例).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(教案讲义)课程教学设计(负责人:尹菡).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(教案讲义)课程标准(适用专业:软件技术).pdf
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第四章 数组.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第六章 指针.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第八章 文件.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第五章 函数.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第七章 结构体和共同体.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第二章 数据类型与运算符.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第三章 结构化程序设计.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第一章 初识C语言(负责人:周鹏梅).ppt
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)课程标准(适用专业:物联网应用技术).pdf
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第11单元 Python的模块使用与程序打包.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第12单元 实战——用Python玩微信.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第6单元 用函数实现代码复用.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第7单元 正则表达式.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第8单元 面向对象编程.pptx
- 私立华联学院:《Python语言程序设计》课程教学资源(PPT课件)第9单元 文件操作.pptx
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)课程标准(主讲:沈秀珍).pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第一章 Illustrator基础知识.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第二章 绘图基本操作.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第三章 绘图着色操作.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第五章 应用图层与剪切蒙板.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第四章 编辑与管理对象.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第七章 创建与处理文本.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第六章 应用画笔和效果与图形样式.pdf
- 私立华联学院:《Illustrator计算机辅助设计》课程教学资源(课件讲稿)第八章 Illustrator综合应用.pdf
- 私立华联学院:《云计算技术与应用基础》课程教学资源(教案讲义)课程标准.pdf
- 私立华联学院:《云计算技术与应用基础》课程教学资源(教案讲义)教学设计.pdf
- 私立华联学院:《云计算技术与应用基础》课程教学资源(试卷习题)云计算基础测试卷.doc
- 私立华联学院:《云计算技术与应用基础》课程教学资源(试卷习题)云计算基础测试答案.doc
- 私立华联学院:《云计算技术与应用基础》课程教学资源(试卷习题)第1章 云概述.doc