版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、到/sinchb/article/details/的原始链接请提前注意,这不是对Python异常的全面介绍。在学习了Python异常之后,这只是一篇笔记记录和总结文章。什么?你还是不知道什么是异常,呃.1.Python异常类Python是一种面向对象的语言,所以程序抛出的异常也是类。有几个常见的Python异常。只要看一眼它们,就能有一个形象。在编程时,我相信你肯定会不止一次遇到他们(除非你不使用Python)。Python标准异常异常名形容基本例外所有异常的基类系统退出解释器请求退出键盘中断用户中断执行(通常输入C)例外一般错误的基类停止迭代迭代器不再有
2、值生成退出发生器中出现异常,通知退出。系统退出Python解释器请求退出标准误差所有内置标准异常的基类算术错误所有数值计算错误的基类浮动指针错误浮点计算误差飞越错误数值运算超过最大限制零分频错误除(或模)零(所有数据类型)AssertionError断言语句失败属性错误对象没有此属性EOFError没有内置输入,已到达EOF标志环境错误操作系统错误的基类IOError输入/输出操作失败o错误操作系统错误窗口错误系统调用失败导入错误导入模块/对象失败键盘中断用户中断执行(通常输入C)查看错误无效数据查询的基类索引错误序列中不存在该索引。键盘错误该键在地图中不存在内存错误内存溢出错误(对Pytho
3、n解释器来说不是致命的)名称错误对象未声明/初始化(无属性)UnboundLocalError访问未初始化的局部变量引用错误弱引用试图访问已被垃圾收集的对象。运行时间错误一般运行时错误NotImplementedError未实现的方法语法错误Python语法错误缩进错误缩进错误tab错误制表符混合空格系统错误通用解释器系统错误类型错误类型的操作无效值错误传入的参数无效UnicodeError错误Unicode相关错误统一编码错误Unicode解码错误unicode编码错误Unicode编码错误unicode翻译错误Unicode转换中的错误警告警告的基类折旧警告废弃特征的警告未来学习未来建筑语
4、义变化的警示飞越警告自动升级到长时间的旧警告挂起预测警告警告功能将被放弃运行时间警告可疑运行时行为的警告语法警告可疑语法警告用户警告用户代码生成的警告反常的形容名称错误试图访问未声明的变量零分频错误除数是0语法错误语法错误索引错误索引超出序列范围键盘错误请求不存在的字典键IOError输入和输出错误(例如,您想要读取的文件不存在)属性错误试图访问未知对象属性值错误传递给函数的参数类型不正确,例如传递给int()的字符串形状2.捕捉异常Python捕捉异常的完整语句有点像:html查看普通副本1.try:2.try_suite3.例外1,例外2,参数:4.异常_套件5.#otherexcepti
5、onblock6.else:7.无_异常_检测到_套件8.最终:9.始终执行套件呃.很复杂吗?当然,当我们想要捕捉一个异常时,我们不需要完全按照上面的格式写下来。我们可以丢弃else语句或finally语句。甚至不想要异常语句,但保留finally语句。呃,头晕?好吧,让我们一个一个解释。2.1。尝试.例外.声明不用说,众所周知,我们需要的是捕捉异常的代码。except语句是关键。在我们尝试捕获代码段try_suite中的异常之后,我们将把它交给除了处理之外的地方。最简单的尝试.除外声明如下:python查看普通副本1.try:2.try_suite3.除外:4.exceptionblock上
6、面的exception子句没有遵循任何异常和异常参数,因此无论try捕捉到什么异常,它们都将由exceptION子句的exceptION BLOCK处理。如果我们想要处理特定的异常,例如,我们只想要处理零除异常,并且如果发生其他异常,让它们被抛出而不进行处理,我们应该做什么?此时,我们将把异常参数传递给异常子句!ExceptionN是我们要给异常子句的异常类(请参考异常类表),表示如果捕捉到这样的异常,它们将由这个异常子句处理。例如:python查看普通副本1.try:2.try_suite3.例外:4.exceptionblock例如:python查看普通副本1.try:2.res=2/03
7、.例外零分频错误:4.print error : divisor不得为零!5.6.错误: divisor不得为零!听着,我们真的发现了零除错误异常!如果我想捕捉和处理多个异常,该怎么办?有两种方法,一种是将多个异常类参数传递给一个异常子句,另一种是编写多个异常子句,每个子句传递您想要处理的异常类参数。甚至,这两种用法可以混合搭配!让我举个例子。python查看普通副本1.try:2.float num=float(raw _ input(请输入float :)3.intnum=int(floatnum)4.print100/intnum5.例外零分频错误:6.print error : you
8、mustinputafloatnumwhichislargeorequilten 1!7.异常值错误:8.print error : youmustinputafloatnum!9.10.root Cherishtmp# py contest . py11.请输入浮点:fjia12.错误:youmustinputafloatnum!13.root Cherishtmp# py contest . py14.请输入浮动:0.999915.错误: youmustinputaloatumwhichislargeorequilten 1!16.root Cherishtmp# py contest .
9、 py17.请输入浮动:25.09118.4一旦每个人都理解了上面的例子,他们就不再解释了。只要你明白,我们的异常可以处理一种异常,多种异常,甚至所有异常。正如你可能已经注意到的,我们还没有解释什么是例外条款后的论点。别担心,听我说。这个参数实际上是一个异常类的实例(不要告诉我你不知道什么是实例),并且包含来自异常代码的诊断信息。换句话说,如果您捕捉到一个异常,您可以通过异常类的实例获得关于该异常的更多信息。例如:python查看普通副本1.try:2.1/03.例外零除错误,原因:4.及格5.6.类型(原因)7.8.打印原因9.integerdivisionormodulobyzero10.
10、理由11.ZeroDivisionError(integerdivisionormodulobyzero,)12.原因。_class_13.14.原因。_ _ class _ _ _。_doc_15.secondary gumentto divisionormoduloop operationwaszero。16.原因。_ _ class _ _ _。_name_17.零分频错误在上面的例子中,我们捕捉到了零的异常,但是什么也没做。原因是异常类ZeroDivisionError的一个例子,这可以从类型中看出。2.2天.反对.else语句现在让我们来谈谈其他的说法。Python还有许多其他特殊用
11、途,比如条件和循环。当您将它放入try语句中时,它的效果是相似的:当没有检测到异常时,执行else语句。例如,您可能更了解:python查看普通副本1.importsyslog2.try:3.f=open(/root/test.py )4.异常错误,e:5.syslog.syslog(syslog。LOG_ERR, %s%e)6.else:7.syslog.syslog(syslog。LOG_INFO,“noexceptioncaught n”)8.9.关闭()2.3最后条款finally子句是一段无论是否检测到异常都执行的代码。我们可以丢弃except子句和else子句,使用try.最后单独
12、或与除外等一起。例如,在2.2的示例中,如果有其他无法捕获的异常,并且程序异常退出,则文件F通常不会关闭。这不是我们想要看到的结果,但是如果我们把f.close语句放到finally语句中,不管有没有异常,文件都会正常关闭,这不是很好吗?python查看普通副本1.importsyslog2.try:3.f=open(/root/test.py )4.异常错误,e:5.syslog.syslog(syslog。LOG_ERR, %s%e)6.else:7.syslog.syslog(syslog。LOG_INFO,“noexceptioncaught n”)8.最终:9.关闭()你看到我们上面的例子实际上使用了四个子句try,exception,else,finally!-),是不是很有趣?到目前为止,您基本上已经学会了如何在Python中捕捉并处理常规异常。3.两种特殊的简单异常处理方法3.1断言什么是断言,首先看看语法:python查看普通副本1.assertexpression,reason其中assert是断言的关键字。执行语句时,首先判断表达式,如果表达式为真,则什么也不做;如果表达式不为真,将引发异常。原因与我们前面讨论的异常类示例相同。不明白吗?举个例子,没关系!最诚实的!python查看普通副本1.assertlen(love)=len(like)2.as
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新科教版初中九年级历史下册第三单元世界多极化趋势卷含答案
- 铁合金转炉冶炼工诚信强化考核试卷含答案
- 工程机械租赁业务员操作水平竞赛考核试卷含答案
- 吸音材料制造工岗前生产安全效果考核试卷含答案
- 粗钨酸钠溶液制备工安全生产知识评优考核试卷含答案
- 堆取料机司机班组协作水平考核试卷含答案
- 瓦斯抽放工安全培训考核试卷含答案
- 日间手术患者体验提升的服务流程资源优化
- 日间手术医保目录与术式匹配研究
- 新辅助阶段梗阻支架放疗价值
- 钢结构答辩课件
- 外科无菌术及基本操作
- 2023年辽阳市太子河区数学六年级第二学期期末达标测试试题含解析
- 轮机概论-大连海事大学
- 基数效用理论 序数效用理论 消费者选择
- 大学生健康教育(复旦大学)【超星尔雅学习通】章节答案
- 国际贸易实务题库(含答案)
- SGRQ圣乔治呼吸问卷
- 2023-2025年xx市初中学业水平考试体育与健康考试体育中考理论考试题库
- SB/T 10479-2008饭店业星级侍酒师技术条件
- GB/T 13916-2013冲压件形状和位置未注公差
评论
0/150
提交评论