书签 分享 收藏 举报 版权申诉 / 15
上传文档赚钱

类型Python程序设计基础Chap09-异常.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3371863
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:15
  • 大小:535.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python程序设计基础Chap09-异常.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python 程序设计 基础 Chap09 异常
    资源描述:

    1、内容提纲内容提纲9.1 文件和文件路径 2 29.2 文件的读写3 39.3 文件定位4 43 35 59.4 文件相关函数及综合应用1 19.5 CSV文件操作引例 在前面的上机实践过程中,读者可能遇到过很多错误或异常。错误一般指语法错误,通常是由于我们没有正确掌握语法或输入代码过程中出错而造成的。这需要编程者自己尽力在编码和输入过程中避免。异常即是一个事件。该事件会在程序执行过程中发生,影响了程序的正常执行。引例引例v 下面的代码根据用户输入的身高和体重数据计算用户的体重系数BMI。v height=float(input(enter your height(m):)v weight=fl

    2、oat(input(enter your weight(kg):)v bmi=round(weight/(height*height),2)v print(your BMI is:,bmi)v 程序要求输入合理的数据,一旦用户误将身高数据输入为0,则程序会出现异常突然退出,并伴随一堆错误信息,如下所示:v Traceback(most recent call last):v File C:/Users/ws/PycharmProjects/untitled1/ws.py,line 3,in v bmi=round(weight/(height*height),2)v ZeroDivisionE

    3、rror:float division by zero9.1 错误和异常错误和异常9.1.1 语法错误语法错误,也称作解析错误,也许是学习Python 过程中最常见的。下面的代码中print有拼写错误。prin(hello,world)Traceback(most recent call last):File,line 1,in prin(hello,world)NameError:name prin is not defined语法分析器指出错误行为第1行,因为print少了一个“t”。错误会输出文件名和行号,所以如果是从脚本输入的你就知道去哪里检查错误了。这类错误需要编程者自己不断提高编辑

    4、和编程水平来减少发生的频率,而不能指望Python系统帮我们解决。9.1 错误和异常错误和异常v 9.1.2 异常v 即使一条语句或表达式在语法上是正确的,当试图执行它时也可能会引发错误。运行期检测到的错误即为异常。v 20*(10/0)v Traceback(most recent call last):v File,line 1,in v 20*(10/0)v ZeroDivisionError:division by zerov 以上代码出现除数为0的异常。v 20+mycarv Traceback(most recent call last):v File,line 1,in v 20

    5、+mycarv NameError:name mycar is not defined9.1 错误和异常错误和异常异常名称异常名称描述描述BaseException所有异常的基类所有异常的基类KeyboardInterrupt用户中断执行(通常是输入用户中断执行(通常是输入C)Exception常规错误的基类常规错误的基类ArithmeticError所有数值计算错误的基类所有数值计算错误的基类FloatingPointError浮点计算错误浮点计算错误OverflowError数值运算超出最大限制数值运算超出最大限制ZeroDivisionError除(或取模)零(所有数据类型)除(或取模)

    6、零(所有数据类型)IOError输入输入/输出操作失败输出操作失败IndexError序列中没有此索引(序列中没有此索引(index)KeyError映射中没有这个键映射中没有这个键MemoryError内存溢出错误(对于内存溢出错误(对于Python 解释器不是致命的)解释器不是致命的)NameError未声明未声明/初始化对象(没有属性)初始化对象(没有属性)9.2 异常处理异常处理v9.2 异常处理v为了使程序在发生异常时不崩溃,编程者需要按特定语法格式处理异常,使得程序可以继续运行。比如一个程序要求用户输入年龄,显然程序期待的是一个数字,但如果用户输入了“ab”这样的字符串值(用户很容

    7、易输入类似的数据),程序若没有处理异常的代码就会退出运行,提示用户发生了“ValueError”异常。程序这样轻易就崩溃,将会使用户非常恼火。合理的处理方式是,当异常发生时程序要处理它,并提示用户输入正确格式的数字。9.2 异常处理异常处理9.2.1 异常处理语法异常处理语法结构如下:try:except:except:except:#上一句except分支不指定任何类型的异常,表示可以匹配任何异常类型。else:finally:9.2 异常处理异常处理v 9.2.2 常见异常处理示例v 下面代码处理打开文件异常。v try:v fh=open(testfile,r)v mystr=fh.re

    8、ad(20)v except IOError:v print(“没有找到文件或读取文件失败)v else:v print(mystr)v fh.close()9.2 异常处理异常处理 执行以上代码,如果当前目录下不存在testfile这个文件,则程序产生异常,此异常被excep IOError分支捕获,程序将输出:没有找到文件或读取文件失败。如果文件存在,则程序会顺利打开文件并执行else分支,输出文件中的前20个字符,然后关闭文件,程序退出。9.3 抛出异常和自定义异常抛出异常和自定义异常 9.3.1 如何抛出异常 当程序出现错误时,Python会自动引发异常,也可以通过raise显式地引发

    9、异常。一旦执行了raise语句,raise后面的语句将不能执行。换句话说,raise 语句允许程序员在任何必要的时候强制抛出一个指定的异常,而不必等Python引发。语法格式如下:raise exceptionName 即只要在raise关键字后跟上一个异常类型名,就可立即引发一个异常,改变程序的执行路径。9.3 抛出异常和自定义异常抛出异常和自定义异常v9.3.2 用户自定义异常v用户可以自己创建异常。Python中异常是类,创建异常,就是创建一个异常子类。通过继承,将异常类的所有基本特点保留下来。通过这种方式,程序可以命名它们自己的异常。自定义异常是通过扩展BaseException类或BaseException的子类来定义一个新的异常。vBaseException类是所有异常类的父亲,所有的Python异常类都直接或间接地继承自BaseException类。v定义异常类的语法:vclass MyException(Exception):v pass vMyException是自定义异常类名,Exception是异常基类。本本 章章 小小 结结v本章介绍了一些常见的异常类型及异常处理方法,简单说明了如何手动抛出异常、自定义异常等知识点。通过本章的学习,读者要理解错误与异常的区别和联系,理解异常处理与程序健壮性的关系,掌握处理常见异常的一般方法和原则。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python程序设计基础Chap09-异常.ppt
    链接地址:https://www.163wenku.com/p-3371863.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库