- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学计算机基础 第11章 异常 11.2 Python中的异常类 观察下面一段代码,运行到“print A”语句时出错,程序终止,系统输出出错信息。 表11-1 Python的一些内建异常类 11.3 捕获和处理异常 11.3.1 try...except...语句 11.3.2 try...except...else...语句 11.3.3 带有多个except的try语句 try: try块 #被监控的语句 except Exception1: except块1 #处理异常1的语句 except Exception2: except块2 #处理异常2的语句 11.3.4 捕获所有异常 当你需要捕获所有异常时,可以使用BaseException,代码格式如下: try: …… except BaseException, e: ...... #处理所有错误 11.3.5 finally子句 下面是try-finally的语法格式: try: …… finally: ...... #无论如何都会执行 11.4 两种处理异常的特殊方法 断言语句的语法是: assert expression[, reason] 当判断表达式expression为真时,什么都不做;如果表达式为假,则抛出异常。 11.4.1 断言语句(assert语句) 11.4.2 上下文管理(with语句 with语句的目的在于从流程图中把try、except、finally关键字和资源分配释放相关代码全部去掉,而不是像try-except-finally那样仅仅简化代码使之易于使用。with语句的语法如下: with context_expr [as var]: with块 11.4.2 上下文管理(with语句 11.5 引发异常(raise语句) 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。 11.5 引发异常(raise语句) 11.5 引发异常(raise语句) 上面我们创建了一个自己的异常类型,这个新的异常类型名为ShortInputException,它有两个域:lenth是给定输入的长度,atleast是程序期望的最小长度。 当输入结束标志“Ctrl+D”时,except捕获了EOFError类异常;当输入字符串的长度小于3时,由raise引发自定义的ShortInputException类异常。 11.6采用sys模块回溯最后的异常 import sys try: block except: tuple = sys.exc_info() print tuple sys.exc_info( )的返回值tuple是一个三元组(type, value/message, traceback),这里的 type —— 异常的类型 value/message —— 异常的信息或者参数 traceback —— 包含调用栈信息的对象。 11.6采用sys模块回溯最后的异常 计算机编程导论 1-* Copyright ? SWFU-CISD, 2012. All rights reserved. 计算机编程导论 11.1 什么是异常 当Python检测到一个错误时,解释器就会指出当前流已无法继续执行下去,这时候就出现了异常。异常是指因为程序出错而在正常控制流以外采取的行为。 异常分为两个阶段:第一个阶段是引起异常发生的错误;第二个阶段是检测并处理阶段。 x, y = 10, 5 a = x / y print A Traceback (most recent call last): File pyshell#2, line 1, in module print A NameError: name A is not defined 我们可以观察到有一个NameError被引发,语句“print A”中使用了未定义的变量“A”,处理器检测到该错误并输出错误所在的位置。以上错误发生时,程序终止运行,如果对错误进行捕捉并对其进行处理,将不至于使整个程序失败。 try子句中的代码块放置可能出现异常的语句,except子句中的代码块处理异常。 try: try块 #被监控的语句 except Exception[, reason]: except块 #处理异常的语句 下面代码显示了使用try…except…语句诊断异常的过程。 a_list = [China, America, England, France] try: print a_list[4]
您可能关注的文档
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第七章 时间序列分析基础.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第三章 模型中误差项假定的诸问题.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第四章 线性模型的扩展.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第五章 联立方程组模型的估计.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第一章 一元线性回归分析基础.ppt
- 计量学基础 教学课件 作者 李东升 第1章.ppt
- 计量学基础 教学课件 作者 李东升 第2章.ppt
- 计量学基础 教学课件 作者 李东升 第3章.ppt
- 计量学基础 教学课件 作者 李东升 第4章.ppt
- 计量学基础 教学课件 作者 李东升 第5章.ppt
- 计算机编程导论——Python程序设计 教学课件 作者 赵家刚 狄光智 吕丹桔 第13章 游戏开发(第13_14次课).ppt
- 计算机病毒防治实用教程 教学课件 作者 李治国 2 1 1病毒分析常用工具.ppt
- 计算机病毒防治实用教程 教学课件 作者 李治国 2 2 1怎样建立自己的病毒行为分析平台.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch01.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch02.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch03.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch04.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch05.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch06.ppt
- 计算机病毒分析与防治简明教 教学课件 作者 978 7 302 16377 0 ch07.ppt
文档评论(0)