python 3基础教程 第6章异常处理

python 3基础教程 第6章异常处理

ID:18028959

大小:581.00 KB

页数:34页

时间:2018-09-13

python 3基础教程 第6章异常处理_第1页
python 3基础教程 第6章异常处理_第2页
python 3基础教程 第6章异常处理_第3页
python 3基础教程 第6章异常处理_第4页
python 3基础教程 第6章异常处理_第5页
资源描述:

《python 3基础教程 第6章异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Python3基础教程出版社或系部名称主讲:授课教师姓名第6章异常处理异常是程序在运行过程中,在特定条件下引发的错误。例如,打开不存在的文件、序列索引越界、不兼容类型之间执行运算等,都会产生异常。异常并非语法错误或程序逻辑错误。Python在运行程序时,首先会扫描程序检查语法错误。程序逻辑错误属于设计问题,非程序本身问题。异常可以在程序运行过程中进行捕捉,进行处理,从而避免程序意外崩溃。对程序执行异常处理,是一种良好的编程习惯。本章主要内容自定义异常类Python异常处理机制主动引发异常1236.1Python异常处理机制异常处理是Python的一种高级工具,当异常发生时

2、,程序会停止当前的所有工作,跳转到异常处理部分去执行。异常既可以是程序错误引发的,也可以是由代码主动触发。本节主要讲述:为什么使用异常处理异常处理基本结构常见异常类型捕捉多个异常except…as与统一处理捕捉所有异常异常处理结构的嵌套try…finally终止行为6.1.1为什么使用异常处理在Python中,异常处理常用于处理下列情况。错误处理:这是异常处理的典型应用,在程序中捕捉可能发生的错误,提供处理措施,例如直接忽略、打印错误、写异常日志等等。Python使用try语句捕捉和处理异常,发生错误时,执行try语句中的异常处理代码,然后正常执行try语句后面的代码。终

3、极行为:在try语句中使用finally定义终极行为,不管程序中是否发生异常,finally部分的代码都会执行。例如,在读写文件时,用finally定义文件关闭操作。利用异常处理实现非常规的流程控制。使用raise语句在代码中根据需要,主动抛出内置异常或者是自定义的异常,实现程序的流程跳转。6.1.2异常处理基本结构异常处理的基本结构如下:在处理异常时,将可能引发异常的代码放在try语句块中。在except语句中指明捕捉处理的异常类型名称,except语句块中为发生指定异常时执行的代码。else语句块中为没有发生异常时执行的代码,else部分可以省略。6.1.3常见异常类

4、AttributeError:访问对象属性时引发的异常,如属性不存在或则不支持赋值等。EOFError:使用input()函数读文件时,遇到文件结束标志EOF时发生的异常。文件对象的read()和readline()方法遇到EOF时返回空字符串,不会引发异常。ImportError:导入模块出错引发的异常。IndexError:使用序列对象的下标超出范围时引发的异常。StopIteration:迭代器没有进一步可迭代元素时引发的异常。IndentationError:使用了不正确的缩进时引发的异常。TabError:使用Tab键和空格缩进时不一致引发的异常。TypeErr

5、or:在运算或函数调用时,使用了不兼容的类型时引发的异常。ZeroDivisionError:除数为0时引发的异常。6.1.4捕捉多个异常在异常处理结构中,可以使用多个except语句,已捕捉可能出现的多种异常。例如:6.1.5except…as与统一处理可以在except语句中同时指定多种异常,以便使用相同的异常处理代码进行统一处理。在except语句中可以使用as为异常类创建一个实例对象。6.1.6捕捉所有异常在捕捉异常时,如果except语句中没有指明异常类型,则不管发生何种类型的异常,均会执行except语句块中的异常处理代码。6.1.7异常处理结构的嵌套Pyth

6、on允许在异常结构处理的内部嵌套另一个异常处理结构。在发生异常时,内部没有捕捉处理的异常可以被外层捕捉。6.1.8try…finally终止行为在异常处理结构中,可以使用finally定义终止行为。不管try语句块中是否发生异常,finally语句块中的代码都会执行。例如:6.2主动引发异常并非只有在程序运行出错时才可引发异常,Python允许在代码中使用raise或assert语句主动引发异常。本节主要讲述:raise语句异常链:异常引发异常assert语句6.2.1raise语句raise语句基本格式如下:Python执行raise语句时,会引发异常并传递异常类的实例

7、对象。1.用类名引发异常raise语句中指定异常类名时,创建该类的实例对象,然后引发异常。例如:2.用异常类实例对象引发异常3.传递异常不带参数的raise语句可再次引发刚刚发生过的异常,其作用就是向外传递异常。例如:4.指定异常信息在使用raise语句引发异常时,可以为异常类指定描述信息。例如:6.2.2异常链:异常引发异常可以使用raise…from…语句,使用异常来引发另一个异常。例如:6.2.3assert语句assert语句在“测试表达式”的值为假时,引发AssertionError异常,data作为异常描述信息。a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。