- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第8章异常处理与程序调试
学习目标了解异常的概念掌握捕获指定异常、自定义异常掌握断言及上下文管理熟悉使用IDLE、pdb调试代码22025/9/15
8.1异常的概念异常是指程序运行时引发的错误,如:除零、下标越界、文件不存在、网络异常、类型错误、磁盘空间不足等等。32025/9/15x,y=3,4printf(x+y)NameError:nameprintfisnotdefinedprint(x/0)ZeroDivisionError:divisionbyzero3+2TypeError:mustbestr,notint3+str(2) #正确的写法32eval(3)+2 #正确的写法5
8.1异常的概念42025/9/15异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所有数值计算错误的基类FloatingPointError浮点计算错误OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零(所有数据类型)AssertionError断言语句失败AttributeError对象没有这个属性
8.1异常的概念52025/9/15EOFError没有内建输入,到达EOF标记EnvironmentError操作系统错误的基类IOError输入/输出操作失败OSError操作系统错误WindowsError系统调用失败ImportError导入模块/对象失败LookupError无效数据查询的基类IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误(对于Python解释器不是致命的)NameError未声明/初始化对象(没有属性)UnboundLocalError访问未初始化的本地变量ReferenceError弱引用(Weakreference)试图访问已经垃圾回收了的对象
8.1异常的概念62025/9/15RuntimeError一般的运行时错误NotImplementedError尚未实现的方法SyntaxErrorPython语法错误IndentationError缩进错误TabErrorTab和空格混用SystemError一般的解释器系统错误TypeError对类型无效的操作ValueError传入无效的参数UnicodeErrorUnicode相关的错误UnicodeDecodeErrorUnicode解码时的错误UnicodeEncodeErrorUnicode编码时错误UnicodeTranslateErrorUnicode转换时错误
8.1异常的概念72025/9/15Warning警告的基类DeprecationWarning关于被弃用的特征的警告FutureWarning关于构造将来语义会有改变的警告OverflowWarning旧的关于自动提升为长整型(long)的警告PendingDeprecationWarning关于特性将会被废弃的警告RuntimeWarning可疑的运行时行为(runtimebehavior)的警告SyntaxWarning可疑的语法的警告UserWarning用户代码生成的警告
8.2异常捕获82025/9/15关键字说明try/except捕获异常并处理pass忽略异常as定义异常实例(exceptMyErrorase)else如果try中的语句没有引发异常,则执行else中的语句finally无论是否出现异常,都执行的代码raise抛出/引发异常
8.2.1捕获指定异常捕获指定的异常是异常处理的基本形式,采用try...except结构。92025/9/15try:执行的语句except异常名[as别名]:出现异常时执行的语句这里的异常名如果省略,则成为:try:执行的语句except:出现异常时执行的语句
8.2.2没有出现指定异常的处理如果判断完没有某些异常之后还想做其他事,可以在使用异常之后添加else语句,形成try...except...else语句。102025/
文档评论(0)