| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python第九节异常 -> 正文阅读 |
|
[Python知识库]python第九节异常 |
一、异常处理的过程: 1、抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器。 2、捕获异常:解释器得到该异常后,寻找相应的代码来处理异常。 3、异常解决的关键是定位。 二、try except结构 try: ? ? ? ? 被监控的可能引发异常的语句块 except BaseException[as e]: ? ? ? ? 异常处理语句块 三、try..多个except结构 except Exception1: ? ? ? ? 处理Exception1的语句块 except Exception2: ? ? ? ? 处理Exception2的语句块 ...... except BaseException ? ? ? ? 处理可能遗漏的异常语句块 四、try...except...else结构 try..except..else结构增加了“else块”。如果try块中无异常,执行else块,有异常执行except块。 五、try..except..finally结构 try..except...finally结构中,finally块五轮是否发生异常都会被执行;通常用来释放try块中申请的资源。 六、常见异常汇总和说明 由于return有两种作用:结束方法运行、返回值。一般不把return放到异常处理结构中,而是放到方法最后。 1、SyntaxError:语法错误 SyntaxError:invalid syntax 2、NameError:尝试访问一个没有申明的变量 NameError: name 'a' is not defined 3、ZeroDivisionError:除数为0错误(零除错误) ZeroDivisionError:division by zero 4、ValueError:数值错误 ValueError:could not conver string to float:"? 5、TypeError:类型错误 TypeError:unsupported operand type(s) fro +:'int' + 'str' 6、AttributeError:访问对象的不存在的属性 AttributeError:'int' object has no attrubute 'sayhi' 7、IndexError:索引越界异常 a =[4,5,6] a[10] indexError:list index out of range 8、keyError:字典的关键字不存在 keyError:'salary' 9、常见异常汇总 ArithmeticError?所有数值计算错误的基类 AssertionError?断言语句失败 AttributeError?对象没有这个属性 BaseException?所有异常的基类 DeprecationWarning关于被弃用的特征的警告 EnvironmentError操作系统错误的基类 E0FError没有内建输入,到达E0F标记 Exception?常规错误的基类 FloatingPointError?浮点计算错误 FutureWarning关于构造将来语义会有改变的警告 GeneratorExit生成器(generator)发生异常来通知退出 ImportError导入模块/对象失败 IndentationError?缩进错误? IndexError序列中没有此索引(index) IOError输入/输出操作失 十一、with?上下文管理 finally块由于是否发生异常都会执行,通常我们释放资源的代码。也可以同构with上下文管理,实现释放资源的操作。 with 上下文管理的语法结构如下: with context_expr[as var]: ? ? ? ? 语句块 with上下文管理可以自动管理资源,在with代码块执行完毕后自动还原进入该代码之前的现场或上下文。不论何种原因跳出with块,不论是否异常,总能保证资源正常释放。在文件操作,网络通信相关的场合非常常用。 十二、自定义异常 自定义异常类一般都是运行时异常,通常继承Exception或子类即可。命名一般以Error、Exception为后缀。 自定义异常由raise语句主动抛出。 十三、pycharm开发环境的调试模式 断点 1、设置断点: (1)在行号后面单击即可增加断点: ? ? ? ? ? ? ? ? def aa(): ? ? ? ? ? ? ? ? ? ? ? ? print("run in aa") ? ? ? ? ? ? ? ? ? ? ? ? num1 = 3 ? ? ? ? ? ? ? ? ? ? ? ? num2= num1*4 (2)在断点上再单击即可取消断点 进入调试视图 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:53:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |