第13章 异常-【千锋教育】Python快乐编程基础入门

2023-03-21
| 29页
| 194人阅读
| 2人下载
教辅

内容正文:

第13章 异常 自定义异常 回溯最后的异常 小案例 异常概述 捕获与处理异常 触发异常 1 异常概念 捕获与处理异常 触发异常 自定义异常 回溯最后的异常 小案例 目 录 CATALOUGUE 初心至善 匠心育人 01 02 04 05 03 06 2 理解异常的概念 掌握自定义异常 掌握异常的处理 掌握触发异常 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 13.1 异常概述 初心至善 匠心育人 13.1 异常概念 13.1.1 异常的概念 在生活中,使用计算机中的某个应用软件时,由于某种错误,可能会引发异常,如图所示。 在程序中,当Python检测到一个错误时,解释器就会指出当前流程已无法继续执行下去,这时就出现了异常。例如,使用print()函数输出一个未定义的变量值,具体如下所示: 初心至善 匠心育人 13.1 异常概念 13.1.1 异常的概念 在Python程序中,如果出现异常,而异常对象并未被捕获或处理,程序就会用自动回溯,返回一种错误信息,并终止执行,上述语句返回的错误信息如下: 上述信息提示name变量名未定义,NameError为Python的内建异常类。异常是指因为程序出错而在正常控制流以外采取的行为,即异常是一个事件,该事件可能会在程序执行过程中发生并影响程序的正常执行。 初心至善 匠心育人 13.1 异常概念 13.1.2 异常类 Python为了区分不同的异常,其中内置了许多异常类,常见的异常类如表所示。 初心至善 匠心育人 13.1 异常概念 13.1.2 异常类 在表中,BaseException是异常的顶级类,但用户定义的类不能直接继承这个类,而是要继承Exception。Exception类是与应用相关异常的顶层基类,除了系统退出事件类(SystemExit、KeyboardInterrupt和GeneratorExit)之外,几乎所有用户定义的类都应该继承自这个类,而不是BaseException类。 初心至善 匠心育人 13.2 捕获与处理异常 初心至善 匠心育人 13.2 捕获与处理异常 为了防止程序运行中遇到异常而意外终止,开发时应对可能出现的异常进行捕获并处理。Python程序使用try、except、else、finally这4个关键字来实现异常的捕获与处理。 初心至善 匠心育人 13.2 捕获与处理异常 13.2.1 try-except语句 try-except语句可以捕获异常并进行处理,其语法格式如下: 当try语句块中某条语句出现异常时,程序就不再执行try语句块中后面的语句,而是直接执行except语句块,如例所示。 初心至善 匠心育人 13.2 捕获与处理异常 13.2.1 try-except语句 需要注意的是,上例程序只能捕捉except后面的异常类,如果发生其他类型异常,程序依然会终止。例如,运行上例程序,输入ab再回车,则程序出现错误,如图所示。 在图中,错误信息提示字符串类型不能转化为浮点型。为了保证程序正常运行,此时就需要捕获并处理多种异常,其语法格式如下: 初心至善 匠心育人 13.2 捕获与处理异常 13.2.1 try-except语句 在程序中,虽然开发者可以编写处理多种异常的代码,但异常是防不胜防的,很有可能再出现其他异常,此时就需要捕获并处理所有可能发生的异常,其语法格式如下: 如果程序发生了异常,但是没有找到匹配的异常类别,则执行不带任何匹配类型的except语句块。 初心至善 匠心育人 13 13.2 捕获与处理异常 13.2.2 使用as获取异常信息 为了区分不同的异常,可以使用as关键字来获取异常信息,其语法格式如下: 如果程序需要获取多种异常信息,则可以使用如下语法格式: 如果程序需要获取所有异常信息,则可以使用如下语法格式: 所有的异常类都继承自BaseException类,因此上述语句可以获取所有异常信息。 初心至善 匠心育人 14 13.2 捕获与处理异常 13.2.3 try-except-else语句 try-except-else语句用于处理未捕获到异常的情形,其语法格式如下: 如果try语句内出现了异常,则执行except语句块,否则执行else语句块。 接下来演示try-except-else语句的用法,如例所示。 初心至善 匠心育人 15 13.2 捕获与处理异常 13.2.4 try-finally语句 在try-finally语句中,无论try语句块中是否发生异常,finally语句块中的代码都会执行,其语法格式如下: 其中,finally语句块用于清理在try块中执行的操作,如释放其占有的资源(如文件对象、数据库连接、图形句柄等)。 另外,with-as语句可作为tr

资源预览图

第13章 异常-【千锋教育】Python快乐编程基础入门
1
第13章 异常-【千锋教育】Python快乐编程基础入门
2
第13章 异常-【千锋教育】Python快乐编程基础入门
3
第13章 异常-【千锋教育】Python快乐编程基础入门
4
第13章 异常-【千锋教育】Python快乐编程基础入门
5
第13章 异常-【千锋教育】Python快乐编程基础入门
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。