首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python学习笔记总结(四):异常处理

finally有没有异常都执行 try/except/else: except捕捉到对应的异常才执行。...else 没有异常才执行、 也就是说except分句会捕捉try代码块执行时所有发生的任何异常,而else分句只在try代码执行没有发生异常时才执行,finally分句无法释放发生异常都执行。...name,value:    捕捉所有的异常和其额外的数据(或实例) except (name1,name2) 捕捉任何列出的异常 except (name1,name2),value: 捕捉任何列出的异常...第二种形式随着异常传递额外的数据项,在raise语句中,数据是列在异常名称的后面的;在try语句中,取得该数据是通过引入一个进行接收 它的变量实现的。...注意:目前Python的说明文件指出,用户定义的异常最好继承自Exception内置的异常(但不是必须要求) 在try语句中,捕捉其超类就会捕捉这个类,以及类树中超类下的所有子类:超类会变成异常分类的名称

68610

20210225-1 Python错误与异常「建议收藏」

假如我们希望多个except子句输出同样的信息,就没有必要在几个except子句中重复输入语句,放到一个异常块中即可。...异常处理 > 捕捉对象 > 如果希望在except子句中访问异常对象本身,也就是看到一个异常对象真正的异常信息,而不是输出自己定义的异常信息,可以使用as e的形式,我们称之为捕捉对象。...,前面的异常提示是自定义的,捕捉对象的意思是系统给的系统提示,用 as e 即可 用系统给出的提示相比更便于定位 > 全捕捉 > 在实际编码过程中,即使程序能处理好几种类型的异常,但有一些异常还是会从我们手掌中溜走...,当然这只是一种解决方案,从实用性角度看不建议这样做,因为这样捕捉异常非常危险,会隐藏所有没有预先想到的错误 > try/except…else > try/except 语句还有一个可选的 else...子句,如果使用这个子句,那么必须放在所有的 except 子句之后。

76730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一文搞懂Python错误和异常

    如下: 多任务写成一行 for循环没加‘:’ 上面示例可以看到,针对语法错误,python解析器会输出错误的那一行,并且在最先找到的错误的位置标记了一个箭头。...先看个异常处理的示例: 看,我们完美地捕捉到了程序中的异常。...except后面也可以不添加异常类型,会捕获所有出现的异常: 我们可以把try...except...原理归纳为几个要点: 首先,执行 try 子句 (try 和 except 关键字之间的(多行)语句...) 如果没有异常发生,则跳过 except 子句 并完成 try 语句的执行 如果在执行try 子句时发生了异常,则跳过该子句中剩下的部分。...也就是说,Exception匹配了所有异常,把异常名称赋给了e。当然这里不一定非得是e,你可以取任何的变量名,只是约定俗称这样写罢了。

    1K10

    预备小菜:Python入门之异常

    try/except语句中如果try中的代码块出现异常,except中的会捕捉异常信息并处理。即在try代码中出现异常,程序也不会因此停止。...Exception是异常的基类,也就是所有的异常类型都可以使用Exception来处理,可以说是万能异常处理方法。...: print('这段代码没有异常') 当然也有try… finally的语句,这跟else不同的是,在finally下的代码块,不管有没有出异常都被执行。...,所以使用try except语句,将异常捕捉,然后跳过继续执行后续代码。...,不影响后续代码的运行,那么我们就选择使用Exception,毕竟不关心到底发生了什么错误,通常数据采集过程中,不可能所有的请求都处理成功,存在异常是一件正常的事情。

    24920

    详解分支和循环结构(剖析if语句,switch语句,while循环,for循环,do-while循环)

    介绍 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。...则执行default switch语句中的case和default的顺序问题 在 switch语句中 case ⼦句和 default⼦句有要求顺序吗?...循环1和2两个步骤,在n变成0之前,就能到所有的位。...我们直接上代码 我们看调试结果少了5,所以在 for 循环中 continue的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。...上代码 可以看出程序死循环了,这是因为continue跳过了后面代码,使得i一直为5,所以在do-while循环中 continue的作用是跳过本次循环中 continue 后的代码,直接去到循环的判断部分

    23810

    【C语言】分支循环总结

    基本结构: switch(整型表达式) {    语句项; } 语句项 是什么呢?...别急,这就涉及到了后面的break switch语句中的 break 在 switch 语句中,我们没办法直接实现分支,搭配 break 使用才能实现真正的分支  问题解决!...default子句 如果表达的值与所有的case标签的值都不匹配怎么办? 其实也没什么,结构就是所有的语句都被跳过而已。...当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。...当i=5的时候,遇到break,直接跳出了整个while循环了! 在来看看continue的用法: 当i=5的时候,遇到continue,直接跳过那一次的循环,进入下一次!

    99530

    C语言——分支与循环

    引言 由前面的知识我们可以知道C语⾔是一种结构化的程序设计语⾔,这⾥的结构包括顺序结构、选择结构、循环结构,在C语言中我们可以使⽤ if 、 switch语句 实现分⽀结构,使⽤ for 、...6.switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能跳出 switch 语 句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执⾏,有可能执⾏...所以在 do while 语句中 循环体是⾄少执行⼀次。...在while循环中:continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成 死循环...在 for 循环 中 : continue 的作⽤是跳过本次循环中 continue 后的代码, 直接到循环的调整部分 。 我们用下面的代码来进行更好的理解!

    7210

    C语言分支和循环语句

    原因是 switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语 句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执...就⽐如上⾯的代码就执⾏了 case 2 中的语句。 所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。...4.3 switch语句中的default 在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实 际需求的就可以。...continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。..."%d ", i); } return 0; }  在 for 循环中 continue 的作⽤是跳过本次循环中 continue 后的代码,直接去到循环的调 整部分。

    14710

    c语言的三种语句

    ⼀⾏“余数是2”的打印 ​ 原因是 switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语 句,如果某⼀个 case...,这时候要不就不做处理,要不就得在 switch 语句中加上default switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执⾏ default...· continue 是继续的意思,在循环中的作⽤就是跳过本次循环中 continue 后边的代码,继续进⾏ 下⼀次循环的判断 #include int main()...continue是到调整部分了 3.do-while循环 在循环语句中 do while 语句的使⽤最少,它的语法如下: do 语句; while ( 表达式 ) ; while...、 示例图 ​ do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅ 示例 在屏幕上打印1~10的值 #include

    28410

    关于C语言的分支与循环语句

    在 switch 语句中 case ⼦句和 default ⼦句有要求顺序吗? default 只能放在最后吗?...其实,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实 际需求的就可以。 不过我们通常是把 default ⼦句放在最后处理的。...所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。 同样的,这三种循环语句也可以嵌套使用。...• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所 差异的。...while中的continue: continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接 到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话

    13210

    Python学习笔记整理(十七)异常处理

    也就是说except分句会捕捉try代码块执行时所有发生的任何异常,而else分句只在try代码执行没有发生异常时才执行,finally分句无法释放发生异常都执行。...name,value:    捕捉所有的异常和其额外的数据(或实例) except (name1,name2) 捕捉任何列出的异常 except (name1,name2),value: 捕捉任何列出的异常...第二种形式随着异常传递额外的数据项,在raise语句中,数据是列在异常名称的后面的;在try语句中,取得该数据是通过引入一个进行接收 它的变量实现的。...caught:__main__.General caught:__main__.Spec1 caught:__main__.Spec2 在try语句中,捕捉其超类就会捕捉这个类,以及类树中超类下的所有子类...1)异常不总是错误 在Python中,所有的错误都是异常。

    1.2K10

    【精通C语言】:分支结构switch语句的灵活运用

    switch(整型表达式) { 语句项; } 而语句项是什么呢?...//是一些case语句: //如下: case 整形常量表达式: 语句; 1.2 代码示例 在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支。...因此,break语句在switch语句中的作用是控制程序的流程,避免不必要的代码执行。 编程习惯: 在最后一个 case 语句的后面加上一条 break语句。...其实也没什么,结构就是所有的语句都被跳过而已。 程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。 但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?...当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。

    42310

    【论文解读】基于Transformer增强架构的中文语法纠错

    (Grammatical Error Correction, GEC)任务,旨在利用自然语言处理技术,自动识别并纠正非中文母语学习者书写的文本中所包含的语法错误,拼写错误,语序错误,标点错误等等,是自然语言处理的一项重要任务...下面这对语句就是语法纠错任务的一个示例,每个输入对应一个输出,左侧输入的是一句可能带有错误的文本,右侧输出的是纠正后的结果,句中红色的字是有修改的地方。 这个软件让我们什么有趣的事都记录。...,每个步骤的输出向量对应一个字,所有步骤输出的字拼在一起得到最终输出的句子。...受到 ELMo工作启发,我们认为在不同的神经模块中学习到的知识可能有互补的作用,即高层的神经模块的状态可以捕捉到词语意义中和语境相关的特征,而低层的可以找到语法方面的特征,将所有模块的输出动态地结合到一起...-THREE- 基于腐化语料的单语数据增强方法 互联网中存在着大量的中文单语数据,即完全正确的中文语句。在这些容易获取且完全正确的单语语料中,合理地添加错误,即可得到大量的语法纠错并行语料。

    2K30

    C语言(3)----分支和循坏以及操作符

    前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构。...所以如果要控制多条语句的话,需要用{}把所有要控制的语句给括起来。 对于else也是一样。 嵌套式if 嵌套式好比套娃,不过又不太一样。...它的表达式是 do      语句; while(表达式) 值得注意的是,while和for两个语句都是先判断再循环,而do while是先执行一次在进行判断,这说明在这个语句中循环体至少执行一次。...continue的意思是跳过在本次循环它后面的代码直接进行判断。 在continue的使用中,有可能会陷入死循环。...根据上面的注释我们可以知道,continue跳过了后方的代码,所以陷入死循环,而死循环的表达方式是光点一直闪烁,而不是停止运行。 也就是说continue在while中的机动性更高。

    8210

    分支语句和循环语句(1)

    //是一些case语句: //如下: case 整形常量表达式: 语句; 2.2.1 在switch语句中的 break 在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支...2.2.2 default子句 如果表达的值与所有的case标签的值都不匹配怎么办? 其实也没什么,结构就是所有的语句都被跳过而已。...当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。...循环中跳过本次循环后面的代码,有可能会跳过调整部分,但是在for循环中不会,因为continue只会跳过后面的部分再来到调整部分,这就是两者的区别,也是for循环的优势。...在for循环中,如果遇到continue,会跳过continue后边的代码,直接去循环的调整部分 break在for循环中也是直接终止循环,只要遇到break,循环就直接结束。

    19010

    循环语句详解

    循环语句详解 前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合...,在n变成0之前,就能到所有的位。...do while循环(直到型循环) 语法形式 在循环语句中 do while 语句的使⽤最少,它的语法如下: do 语句; while(表达式); while 和 for 这两种循环都是先判断,...=0,则继续循环,执⾏循环语句;判断表达式的结果==0,则循环结束。 所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。...continue 的作⽤是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

    2400

    【C语言篇】循环语句详解(超详细)

    循环语句详解 前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合...,在n变成0之前,就能到所有的位。...do while循环(直到型循环) 语法形式 在循环语句中 do while 语句的使⽤最少,它的语法如下: do 语句; while(表达式); while 和 for 这两种循环都是先判断,...=0,则继续循环,执⾏循环语句;判断表达式的结果==0,则循环结束。 所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。...continue 的作⽤是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

    18410
    领券