版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python程序设计与应用第9章异常处理9.1异常基本概念9.2异常处理机制9.3异常高级用法
本章小结◎熟悉异常的类型。◎掌握异常的处理机制。◎掌握异常的捕获方法。程序中的错误都是程序员所犯的错误。错误分为3类:语法错误、运行时错误和逻辑错误。即使是有经验的程序员,也不能避免错误。学习程序设计首先应该认清这一情况。既然程序总会出错误,那么在程序开发过程中,不仅要尽可能地保证程序的正确性,还要保证程序的健壮性,本章将介绍如何用适当的方法去处理异常或错误。学习目标:异常:
异常指的是在程序运行过程中发生的异常事件,异常(Exception)都是运行时的。编译时产生的不是异常,而是错误(Error)。9.1异常的概念异常的种类:9.1异常的概念异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所有数值计算错误的基类FloatingPointError浮点计算错误异常的种类:9.1异常的概念OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零(所有数据类型)AssertionError断言语句失败AttributeError对象没有这个属性EOFError没有内建输入,到达EOF标记EnvironmentError操作系统错误的基类IOError输入/输出操作失败OSError操作系统错误为了使程序在发生异常时不崩溃,编程者需要按特定语法格式处理异常,使得程序可以继续运行。9.2异常处理机制try...except结构捕获异常是通过try-except语句实现的,最基本的try-except语句语法如下:try:<可能会抛出异常的语句>except[异常类型];<处理异常>1)try代码块try代码块中包含执行过程中可能会抛出异常的语句。2)except代码块每个try代码块可以伴随一个或多个except代码块,用于处理try代码块中所有可能抛出的多种异常。9.2异常处理机制多异常捕获:9.2异常处理机制如果try代码块中有很多语句抛出异常,而且抛出的异常种类有很多,那么可以在try后面跟有多个except代码块。多except代码块语法如下:try:<可能会抛出异常的语句>except[异常类型1]:<处理异常>except[异常类型2]:<处理异常>…..except[异常类型n]:<处理异常>注:在多个except代码情况下,当一个except代码块捕获到一个异常时,其他的except代码块就不再进行匹配。try...except...finally结构:9.2异常处理机制注:无论try正常结束还是except异常结束都会执行finally代码块。try-except语句后面还可以跟有一个finally代码块,try-except-finally语句语法如下:try:<可能会抛出异常的语句>except[异常类型1]:<处理异常>except[异常类型2]:<处理异常>……except[异常类型n]:<处理异常>finally:<释放资源>当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行9.3异常高级用法9.3异常高级用法【例9.9】raise用法。try:s=NoneifsisNone:print("s是空对象")raiseNameError#如果引发NameError异常,后面的代码将不能执行print(len(s)) #这句不会执行,如果没有raise,那么后面的except会执行exceptTypeError:print("空对象没有长度")执行后程序输出NameError错误。强制触发异常raise。9.3异常高级用法raise语句有如下三种常用的用法:1、raise:单独一个raise。该语句引发当前上下文中捕获的异常(比如在except块中),或默认引发RuntimeError异常。2、raise异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。3、raise异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。断言与上下文管理语句。9.3异常高级用法断言与上下文管理可以说是两种比较特殊的异常处理方式,在形式上比异常处理结构要简单一些.能够满足简单的异常处理或条件确认,并且可以与标准的异常处理结构结合使用。断言语句的语法如下:assertexpression[,arguments]assert是关键字。测试表达式expression是否为True,若测试结果为False,则终止程序运行并抛出Asserti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财政审计系统历年真题(附答案)
- 护理护理心理干预
- 护理文书书写中的信息技术应用
- 压力性损伤诊断常见错误2026
- 冠心病患者的远程监护与护理
- 分级护理与护理研究
- 发绀的护理团队建设
- 卧床患者体位护理的教育方法
- 护理病人的心理评估技巧
- 护理教师教学能力提升
- 2025年天津市十二区重点学校毕业班高考英语联考试卷(一)
- 《大学生心理健康》课件全套 侯瑞鹤 主题1-10 心理健康课:送给自己大学生活的礼物-生命与成长:踏上成为自己的英雄之旅
- 《室内真空排水系统工程技术规程》
- 《Python金融数据分析与挖掘(微课版)》全套教学课件
- 船东保障和赔偿责任险条款
- 2024年初级经济师-人力资源管理专业知识与实务考试历年真题摘选附带答案版
- 人教版八年级下册单词表
- 新型电力系统建设专题学习
- 半导体石英材料系列项目(三期)环评报告表
- 当生命陷落时-与逆境共处的智慧
- WH/T 42-2011演出场所安全技术要求第2部分:临时搭建演出场所舞台、看台安全技术要求
评论
0/150
提交评论